PROGRAMMING METHODOLOGY I – Summer 2022
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
PROGRAMMING METHODOLOGY I – Summer 2022
COURSE OUTLINE
1. Course Description
Introduction to computer hardware and software, programming, and programming paradigms; Essentials of procedural programming languages: key elements; reserved words and identifiers; data types and declarations; statements; arithmetic expressions; different modes of execution. Flow control using If-else and Switch statements. Repetition using loops. Recursive functions. Pointers, references, and dynamic data structures. Function pointers. Lambda expressions. Data structures: built in arrays, template arrays and vectors, n-dimensional vectors; sorting and searching. Object-oriented programming: User defined classes; class attributes and methods; object creation, use and destruction. Introduction to UML class diagrams. Introduction to exception handling.
Lectures: three hours per week. Tutorial: two hours per week.
2. Course Objectives
The objective of this course is to develop the students' knowledge of programming using C++ and object-orientation. Students will learn how to develop C++ programs, by learning the computer environment, programming tools, language constructs and object-oriented concepts. The course also teaches students how to analyze problems and implement C++ solutions.
3. Course Learning Outcomes (CLOs)
Upon successful completion of the course, students will be able to:
1. Define the principles of computer-based problem solving and programming.
2. Describe programming concepts and language constructs in C++.
3. Apply C++ concepts including control statement, repetition statement, arrays, classes and objects, pointers, and references.
4. Demonstrate skills in debugging and testing existing C++ programs with the objectiveof finding faults and improving code quality.
5. Analyze problems using the problem analysis techniques described in the course.
6. Demonstrate proficiency in implementing C++ solutions using proper C++ language constructs.
Moodle Course website: Course material including lecture slides, exercises, announcements, assignments (description and submission) are posted on Moodle.
4. Course Organization
4.1 Lectures and Tutorials
The lectures and tutorials for COEN 243 Section CC are scheduled as follows:
Section |
Days and Times |
Room |
COEN 243- CC |
MoWe 1:15PM - 4:00PM |
FB S129 SGW |
TUT CCCE |
MoWe 4:15PM - 5:55PM |
FB S133 SGW |
TUT CCCF |
MoWe 4:15PM - 5:55PM |
FB S113 SGW |
4.2 Textbook
Required:
C++ How to Program (10th Edition) by Paul Deitel and Harvey Deitel
Publisher: Pearson
ISBN- 10: 0- 13-444823-5
ISBN- 13: 978-0- 13-444823-7
Other references:
• Text book’s publisher online resources
http://www.deitel.com/Books/C/CHowtoProgram10e/tabid/3678/Default.aspx
• Additional resources such as Internet links will be posted on the course website as the course progresses.
5. Course Evaluation
5.1 Evaluation Methods
Evaluation Methods |
Marks |
Assignment 1 (individual) |
3 marks |
Assignment 2 (individual) |
3 marks |
Assignment 3 (group) |
3 marks |
Assignment 4 (group) |
4 marks |
Project (group) |
12 marks |
Midterm Exam |
25 marks |
Final Exam |
35 marks |
Labs |
15 marks |
TOTAL |
100 marks |
5.2 Assignments
There will be five (4) assignments and one (1) project worth 25% of the total grade. Instructions on how to package and submit the assignments will be posted on the course website.
Note:
• There is no late submission policy. Late submissions will not be graded.
• You will have 10 days to 2 weeks to submit your assignment. You will be given enough time and you need to manage your time to submit your assignments on time. You are recommended to anticipate for different circumstances and submit your assignments hours in advance. Since you are given enough time to submit, technical or internet issues will not be accepted as an excuse for late assignment submissions.
• Assignments must be submitted through Moodle. Assignments sent by email to the prof or marker will not be corrected
• For group assignments, you can only have a partner who is enrolled in the same section. You cannot have a partner from a different section.
• Group size: Two (2) students maximum. Groups of 3+ students will not be accepted.
5.3 Assignment submission
You must use pdf format. The file must be named as below:
yourLastName_student id
Example: gomar_123456.pdf
A few lines of comments must be placed at the beginning of your code as bellow:
You must take a screenshot of your code and successful compilation of your code and place the screenshots in a word file. To name your file use the above format.
You also need to submit the .cpp files for your assignments. Do not submit the .exe files. Correct formatting will have 10% of your assignment grading.
5.4 Quizes
Quizzes are optional and do not have any points.
5.5 Midterm Exam
There will be one midterm exam that is worth 25% of your total grade. The midterm exam will be held on Monday, July 25th, 2022 (same time as lectures). Midterm exam is online and is conduced on COLE with Zoom invigilation.
5.6 Final Exam
There will be one final exam that is worth 35% of your total grade. Final exam is online and is conducted on COLE with Zoom invigilation.
The final exam is scheduled by the University. The details will be announced later.
6. Tentative Course Plan
Week |
Topic |
Reference |
1.1 |
Course description |
Course Outline |
Introduction to computers and C++ |
Chapter 1 |
|
1.2 |
Input and output operators |
Chapter 2 |
Control statements: 'if' and 'switch' |
Chapter 4 |
|
2.1 |
Repetition with 'while' and 'do-while’, and ‘for’ |
Chapter 4 |
Logic operators |
Chapter 5 |
|
2.2 |
Practice exercises – Problem analysis skills |
Notes |
Functions |
Chapter 6 |
|
3.1 |
Functions (cont.) and introduction to recursion- Practice exercises |
Chapter 6 |
3.2 |
Introduction to arrays |
Chapter 7 |
Class templates array and vector |
Chapter 7 |
|
4.1 |
Multidimensional arrays and Practice exercises |
Chapter 7 |
Introduction to object-oriented programming |
Chapter 3 |
|
4.2 |
Classes and objects: A deeper look |
Chapter 9 |
Pointers and references |
Chapter 8 |
|
5.1 |
Midterm Exam (Monday, July 25th, 2022) |
|
5.2 |
Pointers and references (cont.) |
Chapter 8 |
Practice exercises |
Notes |
|
6.1 |
Introduction to exception handling |
Chapter 17 |
Introduction to input/output streams |
Chapter 13 |
|
6.2 |
Introduction to input/output streams |
Chapter 13 |
Searching and sorting |
Chapter 20 |
2022-07-26