Northeastern University
Total Page:16
File Type:pdf, Size:1020Kb
Northeastern University School of Engineering Technology GET 4100 – Introduction to C++
Instructor: Duy Nguyen, Ph.D. Work: (781) 981-2079 Email: [email protected] Class homepage: http://www.angelfire.com/ma3/los
Text: “Absolute C++” by Walter J. Savitch.
Course objectives: This course will introduce the students to the basic syntax required to write simple, yet efficient, C++ programs. The emphasis at the beginning of the course will be placed on learning the C++ syntax while application examples applying the techniques learned will be stressed towards the end.
Grading: Midterm exam (20%) Final exam (25%) Programming assignments (30%) Final project (25%)
Assignments: There will be a total of 6 short programming assignments. Each assignment is graded as follows: Documentation (10%) Execution (40%) Source Code (50%).
An important integral part of a good program is the documentation explaining the purpose of the program and the flow of the program for others to follow (up to 10%). The programs showing a “sufficient” amount of coding effort will receive up to 50% while programs that correctly execute without warnings or errors will additionally receive up to 40%. Programs that work perfectly for the test cases I have chosen will receive the full 90% in addition to the documentation percentage.
Final project: There will be a major program to be turned in at the end of the course (last day of class). I will make the assignment as cumulative as possible, incorporating a majority of the ideas covered in the course, but at the same time can be completed within a “reasonable” amount of time. Reasonable will be defined based upon the performance of the students in the class.
** This course follows an honor code system. The students are welcome to share ideas and work together as long as each student writes his/hers own programs. Please write down the names of those students you worked with. **
1 Schedule
Week 1 Introduction to the Course Chapter 1, 2 Overview of C++ Standard input/output (cout, cin) Compiling and running a C++ program Data types Writing a sample program, compile it, and execute it Week 2 Operators, and simple built-in C++ functions Chapter 2 Arithmetic expressions C built-in functions Standard input/output (cout, cin) Week 3 Loops and logical expressions Chapter 2, 7 For loop While loop Do-while loop HWK#1 due AND, OR, NOT IF-THEN-ELSE Switch Week 4 Functions Chapter 3, 4 Functions that return a single result Void functions with input parameters HWK#2 due Scope rules Calling functions by value vs by reference Top-down design illustrated Assign finali project Week 5 Arrays Chapter 10.1, Introduction to arrays Chapter 10.2, 11.1 Storage of arrays in memory HWK#3 due Declaring and referencing 1-dimensional arrays in a program Strings manipulation Week 6 Array programming and functions Chapter 10.4, 10.5 Writing programs using arrays Passing arrays to functions Week 7 Review for Midterm Exam Midterm Exam Week 8 Pointers Chapter 12.1, 12.2 Introduction to pointers Memory storage of pointers HWK#4 due Declaring and referencing pointers Pointers vs. arrays Week 9 Programming with pointers Chapter 15, 6.1 Passing pointers to functions Pointer arithmetic Arrays of pointers Week 10 Introduction to object-oriented programming Chapter 6 Classes Objects HWK#5 due Member functions Constructors Destructors Week 11 Nested classes Chapter 6, 9,
2 Object composition & notes Namespaces Dynamic memory allocation Enhanced functions (inline, overloaded, etc.) QUIZ Week 12 Friends Chapter 8 & notes Assignment operators Deep and shallow copy The “this” pointer Function polymorphism Week 13 Operator overloading Chapter 8, 13, 15, Copy constructors & notes Conversion operators HWK #6 due Week 14 Introduction to data structures (linked list, queues, stacks) Notes Work on final project Week 15 Applications of data structures Notes Work on final project Week 16 FINAL EXAM
3