Intructor objectives
In order to meet the course objectives, the students are expected to fulfill the following requirements:
- Class attendance must be more than 75%.
- For each chapter, the students should complete at home a sufficient amount of exercises given for the chapter. All the exercises are given in Programming Fundamentals in C++ - Lecture Notes and Exercises, available at the instructor’s website.
- Lab work participation is mandatory. At each lab session, the students must complete a sufficient amount of assignments assigned for that lab session. Lab assistants will evaluate the performance of each student at the end of each lab session.
- There are two programming projects each student is required to produce solutions. These projects aim to train the student’s creativity and problem-solving skills. Project 1 aims to apply all the knowledge in the six first chapters and Project 2 aims to apply those of 2 last chapters. Due date of each project must be respected. Unless it is extremely exceptional, late submission is not accepted.
Course duration
This course is one semester long, meeting from February 18th through May 29th. Our semester is 16 weeks long. The course meets for three period lecture session and two period lab session. It consists of 42 periods for lectures and 28 periods for lab works (1 period = 45 minutes).
Course outline
Chapter 1: Introduction to Computer and Programming
- Hardware and software
- Programming languages
- Problem solving and software development
- Algorithms
Chapter 2: Basic Elements in C++
- Program structures
- Data types, and operators
- Variables and variable declarations
- Integer quantifiers
- Focus on problem-solving
Chapter 3: Completing the Basics
- Assignment operators
- Formatting numbers for program output
- Using mathematical library functions
- Program input using the cin object
- Symbolic constants
Chapter 4: Selection Structures
- Selection criteria
- The if-else statement
- Nested if statement
- The switch statement
- The enum specifier
Chapter 5: Repetition Structures – Arrays and Structured Programming
- Basic loop structures
- while loops
- Interactive while loops
- for loops
- Nested loops
- do-while loops
- Structured programming with C++
- Arrays
- Structures
Chapter 6: Functions and Pointers
- Function and parameter declarations
- Returning values
- Variable scope
- Variable storage class
- Passing by reference
- Recursion
- Passing arrays to functions
- Pointers
- The typedef declaration
Chapter 7: Introduction to Classes
- Classes
- Information hiding
- Member functions
- Dynamically Memory Allocation with operators new and delete
- Pointers as class members
Chapter 8: Object Manipulation - Inheritance
- Advanced constructors
- Destructors
- Constant objects
- Inheritance
Lab work
This course maintains a laboratory for its students. During semester, a group of lab assistants hang out in lab to answer students’ questions and help them in debugging. There are 10 lab sessions in the course and the first lab session starts at the third week of the semester. For each lab session, which is 3 period long, the students are requested to finish at least some required assignments. Notice that lab assistants will grade the performance of each student at the end of each lab session. Lab assistants inspect the working of student programs and ask questions on their program codes in order to grade the student lab performance in each lab session.