Course Number: CS225
Course Title: Programming Concepts
Instructor: Mary Heidt
phone: (915) 757-0258
Term Dates: May 23 – July 17, 2005
Class Time: Friday 5:00 p.m. – 10:00 p.m.
1. COURSE DESCRIPTION
This course continues the development of the programming and problem solving skills introduced in CS 219. Programming concepts will be put into practice by using C++ for programming projects. Since C++ is so similar to Java and since students should already know Java from their prerequisite courses, this course will cover C++ basics (control constructs, operators, data types, functions) quickly. More time will be spent on those features of C++ that differ from Java. For example, more time will be spent on pointers, object-oriented programming techniques, and operator overloading. Prerequisite: a grade of ‘C’ or better in CS219. 3:0:3.
2. GOALS OF THE COURSE
At the end of the course, students should be comfortable writing short programs in C++ using arrays, strings, structures and files, understand the syntax of C++ objects, and able to solve problems using objects.
3. LEARNING OBJECTIVES
Upon completion of this course the student should be able to:
• Explain basic C++ constructs.
• Explain basic object-oriented programming concepts
• Explain these programming concepts: pointers, parameter passing – call-by-value vs. call-by-reference, operator overloading, and inheritance – public, protected, and private access specifiers
• Demonstrate creativity and problem-solving skills.
• Use the Visual C++ integrated development environment to enter, run, and debug C++ programs.
• Write C++ programs that use proper style and documentation.
• Write C++ programs that use preprocessor directives, functions, one-dimensional and two-dimensional arrays, pointers, strings, and operator overloading.
4. COURSE ARRANGEMENT
This course will consist of lectures, reading assignments, homework assignments, programming assignments, and tests.
5. COURSE REQUIREMENTS
Students are responsible for all reading, homework, and programming assignments. All assignments are due at the beginning of class. Programming assignments are graded on the correctness and style of the code. Students are expected to backup all programs and will submit both a hard copy and disk for programming assignments.
Students may discuss programming assignments in a general way with other students, but solutions must be done independently. Graded work must be unmistakably your own and may not be copied from another source.
Deitel, H. M., C++ How to Program, Fourth Edition, Prentice Hall, 2003.
7. CLASS MEETING AND EXAMINATION SCHEDULE
May 27: Intro to C++ (Chapter1); Control Structures (Chapter 2); Functions (Chapter 3)
June 3: Arrays (Chapters 4)
June 10: Pointers & Strings (Chapter 5); Exam (Chapters 1 – 4)
June 17: Classes (Chapters 6-7)
June 24: Operator Overloading (Chapter 8); C++ Stream Input/Output (Chapter 12)
July 1: Inheritance (Chapter 9); Exam (Chapters 5-8)
July 8: Polymorphism & Templates (Chapters 10, 11); Review
July 15: Final Exam
This schedule provides a general outline of topics to be covered in class. The actual pace of the class may be adjusted depending on student mastery of topics.
8. CLASS POLICIES
Late homework assignments will not be accepted. Late programming assignments will receive a 10-point deduction for each day the assignment is late.
Students are cautioned regarding Park College and U.S.A.S.M.A. policies regarding class attendance and academic honesty. This policy will be strictly adhered to. Three unexcused absences are defined as excessive and result in an involuntary withdrawal and a grade of F for the course. Additionally, policies regarding smoking and eating established by the college will be observed.
The final grade for the course will be assigned using the following grading scale.
Programming Assignments: 30%
Final Exam: 25%
The letter grade awarded corresponds to the following percent averages.