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