CSCI 1380 Computer Science I

Spring 2013


Instructor: Xiang Lian

Office: ENGR 3.275



Course: CSCI 1380 Computer Science I

Prerequisites: Students are expected to be enrolled in or have completed MATH 1340

Time: TR, 17:45pm ~ 19:00pm.

Locations: Science 3.212 (Tuesday and Thursday) for the lecture and ACAS 2.110 for the lab session (Thursday).

Course Webpage:

Instructor's office hour: Tuesday and Thursday (16:00pm ~ 18:00pm); or by appointment

Teaching Assistant: Dave Salinas

Office: ENGR 2.240


Phone: TBD

Office Hours: Monday (14:00pm ~ 15:00pm), Wednesday (12:00pm ~ 13:00pm); or by appointment




D.S. Malik. C++ Programming: Program Design Including Data Structures, 6/E, Course Technology, 2012, ISBN-10: 0538798092, ISBN-13: 978-0538798099.



Lecture Slides

Note: The slides are password-protected. The password can be obtained from the course instructor.




Week 1 (Jan. 15)

An Overview of Computers and Programming Languages


Week 1 (Jan. 17)



Week 2 (Jan. 22)



Week 2 (Jan. 24)


Note: Lecture & Lab at ACAS 2.110 always on Thursday

Week 3 (Jan. 29)

Basic Elements of C++

Exercises (1)

Week 3 (Jan. 31)



Week 4 (Feb. 5)


Exercises (2)

Week 4 (Feb. 7)



Week 5 (Feb. 12)



Week 5 (Feb. 14)


Exercises (3) (3 bonus points for Valentine's Day ; please submit it to Blackboard; hard deadline: due on Feb. 28)

Week 6 (Feb. 19)

Control Structures I (Selection)

Exercises (4)

Week 6 (Feb. 21)


Exercises (5)

Week 7 (Feb. 26)


Review Problem 1


Review slides for Midterm Exam

Week 7 (Feb. 28)

Midterm Exam


Week 8 (Mar. 5)

Control Structures II (Repetition)

Exercises (6)

Week 8 (Mar. 7)



Week 9 (Mar. 12)


March 10-15, spring break; No classes

Week 9 (Mar. 14)


Week 10 (Mar. 19)

User-Defined Functions I

Exercises (7)

Week 10 (Mar. 21)


Homework 1 is released (Due on April 2)

Exercises (8)

Week 11 (Mar. 26)

User-Defined Functions II

Exercises (9)

Week 11 (Mar. 28)


Exercises (10)

Week 12 (Apr. 2)



Week 12 (Apr. 4)


Exercises (11)


Homework 2 is released (Due on April 23)


Week 13 (Apr. 9)

User-Defined Simple Data Types, Namespaces, and the string Type

Exercises (12)


Week 13 (Apr. 11)


Exercises (13)

Week 14 (Apr. 16)


Exercises (14)

Week 14 (Apr. 18)

Arrays and Strings

Exercises (15)

Week 15 (Apr. 23)


Exercises (16)


April 24; Last day to drop courses or withdraw through the Office of the Registrar

Week 15 (Apr. 25)

Records (structs)  


Student Survey (Please bring No. 2 pencil with you!)


Week 16 (Apr. 30)


Exercises (17)


Exercises (18)


Exercises (19)


Review Problem 2


Review slides for Final Exam


Week 16 (May 2)


Study day; No classes or exams

Week 17 (May 4-10)

Final Exam (5:45-7:30 p.m., May 7, Tuesday)



1 Academic calendar:

Introduction to Microsoft Visual C++ 2003, 2005, 2008, and 2010.
Microsoft Visual C++ Express is free to



Homework No.

Due Date

Homework 1

April 2

Homework 2

April 23

Homework 3


Homework 4


Homework 5



Lab Exercises1, 2, 3

Lab Exercise No.


Lab Date

Due Date

# 1

Your First C++ Program

Jan. 24

Jan. 31

# 2

Basic Debugging

Jan. 31

Feb. 7

# 3

Basic Math

Feb. 7

Feb. 14

# 4

Console Input and Random Numbers

Feb. 14

Feb. 21

# 5

Advanced Output, Named Constants, and Casting

Feb. 21

Feb. 28

# 6

if Statements

Mar. 7

Mar. 21

# 7

if Statements with Complex Conditions

Mar. 21

Mar. 28

# 8

Nested if Statements

Mar. 28

Apr. 4

# 9

switch Structure

Apr. 4

Apr. 11

# 10

while Loops Part 1

Apr. 11

Apr. 18

# 11

while Loops Part 2

Apr. 18

Apr. 25

# 12

do ... while Loops

Apr. 25

May 2 (hard deadline)

# 13

for Loops



# 14

Functions with Reference Parameters



# 15




# 16

Nested Loops (Bonus)

Apr. 25

May 2 (hard deadline)


More Labs for Your Interests (Not Counted in Your Grade)

# 17

Value Returning and void Functions



# 18

Parallel Arrays



# 19

Two-Dimensional Arrays




1 Lab exercises should be done individually.

2 No lab assignment will be accepted after Dec. 8.
3 Lab exercises by courtesy of Dr. Christine Reilly (





This course serves as an introduction to computer programming using C++. It covers the fundamentals of a high-level programming language, methods of problem solving, techniques of algorithmic development, concepts of procedural and object-oriented programming, and societal and social issues related to computer science.

Topics include:

See also UTPA Catalog course descriptions for CSCI 1380.


Learning Outcomes

Upon completion of this course, students should be able to:

General Criteria & Outcomes

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

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

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

·         Recognition of the need for and an ability to engage in continuing professional development

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

·         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

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

Textbook and Resources

Textbook: D.S. Malik. C++ Programming: Program Design Including Data Structures, 6/E, Course Technology, 2012, ISBN-10: 0538798092, ISBN-13: 978-0538798099.

Online Resources:

Scoring and Grading




Lab Assignments




Mid-Term Exam


Final Exam



Total Score (Max)



Total Scoring      












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. There will be a number of unannounced quizzes throughout the course, so please attend every lecture.

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.

Team Work Policy

Late Work Policy

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.

Note to Students with Disabilities

Students with disabilities are encouraged to contact the Disability Services office for a confidential discussion of their individual needs for academic accommodation. It is the policy of the University of Texas-Pan American to provide flexible and individualized accommodation to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Disability Services office (DS), University Center #108, 665-7005 or


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