CSCI/CMPE 3328 Object Oriented Programming in C#

Fall 2015



Instructor: Xiang Lian

Office: ENGR 3.275


Telephone Number: (956) 665-2472


Course: CSCI/CMPE 3328 Object Oriented Programming in C#

Prerequisites: Students are expected to be enrolled in or have completed CSCI 1380 or Programming Experience in another language and Ability to develop algorithms

Time: MW, 1:40pm ~ 2:55pm.

Location: ENGR 1.272 (Lecture, MW); Lab (ASB 2.120, W, 1:40 ~ 2:55pm). Note: we normally stay in ENGR 1.272 for lectures on both Monday and Wednesday, unless Q/A or specified on the course schedule.

Course Webpage:


Instructor's office hour: Monday and Wednesday (3:00pm ~ 6:00pm); or by appointment


Teaching Assistant: Ramses Romulus Reyes

Office: ENGR 3.273A


Phone: TBD

Office Hours: 12pm ~ 4pm, Monday and Wednesday; or by appointment




Paul Deitel and Harvey Deitel. Visual C# 2008 How to Program, 3/E. ISBN-10: 013605322X, ISBN-13: 9780136053224. 2009;


Paul Deitel and Harvey Deitel. Visual C# 2010 How to Program, 4/E.  ISBN-10: 0132151421, ISBN-13: 9780132151429. 2010; or


Paul Deitel and Harvey Deitel. Visual C# 2012 How to Program, 5/E. ISBN-10: 0132151421, ISBN-13: 9780132151429. 2013.



Catalog Description

The C# programming language and .NET environment will be introduced with an emphasis on windows-based, event driven programming and the use of objects, LINQ and XML. Topics may include UML, generic collections, database connections, XML, inheritance and polymorphism, exception handling, event driven programming, concurrent programming, windows forms, files and streams, databases, and Web Services.

Learning Outcomes

1.      Use the .NET IDE environment.


2.      Declare and use various data types in the C# environment.


3.      Properly use the different looping structures available in C#.


4.      Write an amortization schedule or the future value of monthly investment program to demonstrate the capabilities of looping.


5.      Develop and use classes, objects, methods and attributes.


6.      Write programs involving single and multidimensional arrays.


7.      Write object based programs showing proper use of inheritance and polymorphism.


8.      Use GUIs available in C#.


9.      Write multi-form programs.


10.  Write multi-threaded programs.


11.  Write programs using different types of file structures available to C#.


12.  Link C# to a database.


C Sharp programming requires a great deal of time working with the forms and tools. Students need to spend a minimum of 2 hours a day outside the classroom working in the lab. If you do not have the time, please do not sign up for this course.


Tentative Schedule




Week 1 (Aug. 31)

Introduction to C#


Week 1 (Sept. 2)

Introduction to Visual C# Programming

Assignment 1 (Due on Sept. 9)

Week 2 (Sept. 7)


Labor Day Holiday, No Classes

Week 2 (Sept. 9)

Introduction to Classes and Objects

Assignment 2 (Due on Sept. 21)

Week 3 (Sept. 14)



Week 3 (Sept. 16)

Control Statements: Part 1

Census Day


Assignment 3 (Due on Sept. 28)

Week 4 (Sept. 21)

Control Statements: Part 2


Week 4 (Sept. 23)

Exercises (1)

Assignment 4 (Due on Oct. 12)

Week 5 (Sept. 28)

Exercises (2)


Week 5 (Sept. 30)



Review for Exam I


Week 6 (Oct. 5)



Week 6 (Oct. 7)



Assignment 5 (Due on Oct. 19)


Week 7 (Oct. 12)



Week 7 (Oct. 14)



Assignment 6 (Due on Nov. 2)


Week 8 (Oct. 19)



Week 8 (Oct. 21)

Introduction to LINQ and Generic Collections

Assignment 7 [images of cards] (Bonus Assignment; Due on Nov. 2)

Week 9 (Oct. 26)



Week 9 (Oct. 28)

Classes and Objects: A Deeper Look


Week 10 (Nov. 2)



Week 10 (Nov. 4)


Assignment 8 (Due on Nov. 23)


Review for Exam II


Week 11 (Nov. 9)



Week 11 (Nov. 11)

Graphical User Interfaces with Windows Forms

Assignment 9 (Due on Dec. 2)

Week 12 (Nov. 16)



Week 12 (Nov. 18)


Nov. 18: Drop/Withdrawal Deadline

Week 13 (Nov. 23)

Files and Streams


Week 13 (Nov. 25)


Nov. 26-27: Thanksgiving Holiday

Week 14 (Nov. 30)

Databases and LINQ    [sample database]

Bonus Assignment 10 (Hard Deadline: Due on Dec. 7)

Week 14 (Dec. 2)



Week 15 (Dec. 7)



Review for Final Exam


Week 15 (Dec. 9)



Week 16 (Dec. 11-17)

Final Exam (1:15pm ~ 3:00pm, Dec. 14, Monday)



1 Academic calendar:

Final exam schedule:

* Visual Studio Express (Community 2015):

Note: Exam dates are tentative, and exact dates will be announced in class!!!

Drops and drop passes must be handled by you and the admission office; I will sign the necessary documents. But, I will not place a drop or drop pass on the final grade sheet.



Scoring and Grading

Exam I & II ………………….    45%

Final Exam  …………………      25%

Assignments………………      20%

Attendance …………………       10%


            A = 90 or higher

            B = 80 - 89

            C = 70 - 79

            D = 60 - 69

            F = <60



Guidelines for Programming Assignments


All programs and other assignments must be submitted to Blackboard before the deadline.


Late Penalty:  30% penalty. I will not accept assignments after one week and one day.


Program Identification Section.


All programs should begin with a comment section that would include the following:



PROGRAMMERS NAME:_________________________________________________

STUDENT ID:___________________________________________________________

CLASS:________________________ ASSIGNMENT #:_________________________

DATE DUE:__________________ DATE TURNED IN:_________________________



Please upload the *.zip file you created to the Blackboard. The subject of the assignment must include the following information:

             [CSCI/CMPE 3328] [Assignment #] [Your Name Here] [Your Student ID Here]



GENERAL DESCRIPTION OF THE PROGRAM (Program inputs, outputs and summary of what the program does).


Each function should be distinctly identified (block it off using asterisks).  A brief description of its purpose should be given in comments.           


Comments should be inserted as necessary throughout the program to convey the algorithm of the program.  All programs must be tested thoroughly before submission.  You should include program runs to indicate that every option of the program has been tested.  Programs turned in without any program run will receive a grade of zero. 




1. Pseudo code, structure chart, flowchart, etc. as directed.

2. Program listing.

3. Program run.

Turn these in a folder.


Programs that do not run                    0 points

Comments as explained above            15 points

program listing                                    60 points

program run                                         25 points

Program correction and re-submission: up to 50% of missed points.


Lecture Attendance Policy

Attendance in the lecture is mandatory. Students are responsible for all materials covered in class, the textbook, tutorials, and homework assignments. Students are expected to attend lectures, study the text, and contribute to discussions. You need to write your name on attendance sheets throughout the course, so please attend every lecture.

Students are expected to attend all scheduled classes and may be dropped from the course for excessive absences.  UTRGV’s attendance policy excuses students from attending class if they are participating in officially sponsored university activities, such as athletics; for observance of religious holy days; or for military service. Students should contact the instructor in advance of the excused absence and arrange to make up missed work or examinations.

Make-up Exam Policy

No make-up exams will be given except for university sanctioned excused absences. If you miss an exam (for a good reason), it is your responsibility to contact me before the exam, or soon after the exam as possible.

Academic Dishonesty Policy

The University expects a student to maintain a high standard of individual honor in his/her scholastic work. Unless otherwise required, each student is expected to complete his or her assignment individually and independently. Although study together is encouraged, the work handed in for grading by each student is expected to be his or her own. Any form of academic dishonesty will be strictly forbidden and will be punished to the maximum extent. Copying an assignment from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying.

Students with Disabilities

If you have a documented disability (physical, psychological, learning, or other disability which affects your academic performance) and would like to receive academic accommodations, please inform your instructor and contact Student Accessibility Services to schedule an appointment to initiate services. It is recommended that you schedule an appointment with Student Accessibility Services before classes start. However, accommodations can be provided at any time. Brownsville Campus: Student Accessibility Services is located in Cortez Hall Room 129 and can be contacted by phone at (956) 882-7374 (Voice) or via email at Edinburg Campus: Student Accessibility Services is located in 108 University Center and can be contacted by phone at (956) 665-7005 (Voice), (956) 665-3840 (Fax), or via email at

Mandatory Course Evaluation Period

Students are required to complete an ONLINE evaluation of this course, accessed through your UTRGV account (; you will be contacted through email with further instructions. Online evaluations will be available Nov. 18 – Dec. 9, 2015. Students who complete their evaluations will have priority access to their grades.

Sexual Harassment, Discrimination, and Violence 

In accordance with UT System regulations, your instructor is a “responsible employee” for reporting purposes under Title IX regulations and so must report any instance, occurring during a student’s time in college, of sexual assault, stalking, dating violence, domestic violence, or sexual harassment about which she/he becomes aware during this course through writing, discussion, or personal disclosure. More information can be found at, including confidential resources available on campus. The faculty and staff of UTRGV actively strive to provide a learning, working, and living environment that promotes personal integrity, civility, and mutual respect in an environment free from sexual misconduct and discrimination.

Program Outcomes

·         (a) An ability to apply knowledge of computing and mathematics appropriate to the discipline

·         (b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution

·         (c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs

·         (i) An ability to use current techniques, skills, and tools necessary for computing practice

·         (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices

·         (k) An ability to apply design and development principles in the construction of software systems of varying complexity


The instructor reserves the right to alter this syllabus as necessary.