CSCI 1380 Computer Science I

Spring 2014


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, 5:45pm ~ 7:00pm.

Locations: Math & General Classroom 2.206 (Tuesday and Thursday) for the lecture and ACAS 2.110 for the lab session (Thursday).

Course Webpage:

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

Teaching Assistant: Santiago Pazmiño

Office: ENGR 3.273A


Phone: TBA

Office Hours: Wednesday and Friday (1:30pm ~ 2:30pm); 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. 14)

An Overview of Computers and Programming Languages


Week 1 (Jan. 16)



Week 2 (Jan. 21)



Week 2 (Jan. 23)



Week 3 (Jan. 28)

Basic Elements of C++

Exercises (1)

Week 3 (Jan. 30)



Week 4 (Feb. 4)


Exercises (2)

Week 4 (Feb. 6)


Exercises (3)

Week 5 (Feb. 11)



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


Last day to change to non-credit


Week 5 (Feb. 13)



Week 6 (Feb. 18)



Week 6 (Feb. 20)

Control Structures I (Selection)

Exercises (5)

Week 7 (Feb. 25)



Homework 1 is released (Due on March 20)


Week 7 (Feb. 27)


Review Problem 1


Review for Midterm Exam

Week 8 (Mar. 4)

Midterm Exam


Week 8 (Mar. 6)

Control Structures II (Repetition)


Week 9 (Mar. 11)


Mar. 9 ~ Mar. 14, Spring break; No classes

Week 9 (Mar. 13)


Week 10 (Mar. 18)

Lab #8

Swapping between lecture and lab sessions:

·         Mar. 18 (Tuesday): Lab # 8 (ACAS 2.110)

·         Mar. 20 (Thursday): Math & General Classroom 2.206


Week 10 (Mar. 20)

User-Defined Functions I

Exercises (6)


Lecture: Math & General Classroom 2.206


Homework 2 is released (Due on Apr. 15)


Week 11 (Mar. 25)



Exercises (7)


Week 11 (Mar. 27)

User-Defined Functions II


Exercises (8)


Week 12 (Apr. 1)


Exercises (9)

Week 12 (Apr. 3)


Exercises (10)

Week 13 (Apr. 8)

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


Exercises (11)


Week 13 (Apr. 10)


Exercises (12)

Week 14 (Apr. 15)


Exercises (13)


Online course evaluation (by 11:59pm, Wednesday, April 30th):

Week 14 (Apr. 17)

Arrays and Strings


Exercises (14)


Week 15 (Apr. 22)



Exercises (15)


Week 15 (Apr. 24)


Exercises (16)


Exercises (17)


Reading Slides: Records (structs)

Week 16 (Apr. 29)



Exercises (18)


Exercises (19)


Review Problem 2


Review for Final Exam


Week 16 (May 1)


Study day; No classes or exams

Week 17 (May 3-9)

Final Exam (5:45pm ~ 7:30pm, May 6, Tuesday)



1 Academic calendar:

Final exam schedule:

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



Homework No.

Due Date

Homework 1

Mar. 20

Homework 2

Apr. 15

Homework 3


Homework 4


Homework 5



Lab Exercises1, 2

Lab Exercise No.


Lab Date

Due Date

# 1

Your First C++ Program

Jan. 23

Jan. 23

# 2

Basic Debugging

Jan. 30

Feb. 6

# 3

Basic Math

Feb. 6

Feb. 13

# 4

Console Input and Random Numbers

Feb. 13

Feb. 20

# 5

Advanced Output, Named Constants, and Casting

Feb. 20

Feb. 27

# 6

if Statements

Feb. 27

Mar. 6

# 7

if Statements with Complex Conditions

Mar. 6

Mar. 20

# 8

Nested if Statements

Mar. 18 (Tuesday)

Mar. 27

# 9

switch Structure

Mar. 27

Apr. 3

# 10

while Loops Part 1

Apr. 3

Apr. 10

# 11

while Loops Part 2

Apr. 10

Apr. 17

# 12

do ... while Loops

Apr. 17

Apr. 24

# 13

for Loops

Apr. 24

Hard Deadline: May 1

# 14

Functions with Reference Parameters



# 15




# 16

Nested Loops (Bonus!)


Hard Deadline: Apr. 24


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 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:


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


Attendance & Quizzes


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.