Faculty of Engineering and Natural Sciences · Computer Engineering · Undergraduate
Course Objective
The objective of this course is to introduce students to the field of computing and problem solving with the help of an object-oriented programming language (C++). Hence the course will cover many C++ features in detail as needed so students will also be learning a structured programming language.
Through the lectures, interactive recitations, assignments, exams, student activities, students will learn how to design algorithms based on object-oriented programming paradigms. Evaluation of the solutions in terms of correctness and efficiency will also be covered
Course Content
1.
o Introduction to Programming Languages,
o Data Representation (bits and bytes),
o Basic programming structure and concepts: identifiers, literals, symbols, variables, screen input/output (cin and cout)
2.
o Basic data types (int/double/char/bool) and basic arithmetic operations with their precedence,
o First C++ program with Visual MS Studio
3.
o Functions with/out return values, function prototypes
o Parameter passing (pass by value and by reference),
4.
o Conditional statements (if-else), nested else-if statements,
o Logical operators (&&, ||, !)
5.
o String class,
o Loops (while, for, do-while)
6.
o Char data type and arithmetic operations
7.
o File I/O, console stream cin, input and output file streams,
o String streams
8.
o Structs, enum,
o Vectors/arrays and vector operations:
Insert/delete to a vector
Searching (Sequential, binary)
Sorting (selection and insertion sort)
9.
o Vector of structs, matrix
o Introduction to algorithm complexity analysis
10. Classes and objects: using and modifying existing classes such as Dice, RandGen, Date.
Required Resources
“A Computer Science Tapestry”, 2nd Edition, Owen L. Astrachan
Recommended Resources
Deitel, P., & Deitel, H. (2012). C How to program. Prentice Hall Press.
Rules
• Medical reports must be submitted before the exam. In the event of last-minute issues or an inability to visit a healthcare facility due to COVID-19, the instructor must be notified prior to the exam. Excuses submitted after the exam will not be accepted.
• Submitting a medical report does not automatically grant the right to a make-up exam. The validity of the report and the necessity of a make-up exam are at the instructor's discretion.
• To ensure fairness, students taking make-up exams may face more difficult questions. Make-up exams may be conducted entirely or partially as oral exams.
• Letter grades are not determined solely by the weighted average; imbalances between exam and assignment performances are also taken into consideration.
• Attendance at lectures, laboratories, and practical sessions is expected. Absences do not entitle you to extra time.
• You are responsible for topics covered in class, even if they do not appear in the lecture notes.
• Check your email account and the Moodle platform regularly for announcements.
• You are advised to study regularly and in a timely manner rather than relying on last-minute study sessions. Consultation hours held on the final day are usually very busy.
• Submitting an assignment that is identical to another or has only been partially modified counts as plagiarism.
• Collaboration (except for group projects) is not a valid excuse.
• If plagiarism is detected, penalties will be applied to both parties involved:
• First offense: –100 points
• Recurrence: Failure of the course
• Plagiarism, cheating, and receiving remote or unauthorized assistance are strictly prohibited, and penalties will be applied in accordance with relevant regulations.
Course Learning Outcomes
- 1. Students understand well basic programming concepts such as: syntax, data types, identifiers, literals, symbols, variables, data representation, compiling, etc.
- 2. Students have solid understandings of function and can write programs using them.
- 3. Students have solid understandings of conditional statements (if/else statements) and loops (for and while) and can write programs using them
- 4. Students have solid understandings classes and objects with examples such as: strings, char, file and I/O streams, etc., and can write programs using them.
- 5. Students have solid understandings vectors and arrays and can write programs using them.
Core Area Distribution
Teaching Methods
Assessment & Evaluation
ECTS / Workload
| Activity | Quantity | Duration (h) | Total Workload |
|---|---|---|---|
| Course Duration (Including Exam Week) | 15 | 3 | 45 |
| Out of Class Study Period | 15 | 2 | 30 |
| Midterm | 1 | 2 | 2 |
| Quiz | 7 | 1 | 7 |
| Assignment | 0 | 0 | 0 |
| Practice | 15 | 2 | 30 |
| Final | 1 | 2 | 2 |
Course Schedule
| Week | Subject | Preparation |
|---|---|---|
| 1 | Introduction to Programming Languages, ○ Data Representation (bits and bytes), ○ Basic programming structure and concepts: data types, identifiers, literals, symbols, variables, screen input/output (cin and cout) | |
| 2 | Basic data types (int/double/char/bool) and basic arithmetic operations with their precedence, ○ First C++ program with Visual MS Studio | Repeat 1. week |
| 3 | Functions with/out return values, function prototypes ○ Parameter passing (pass by value and by reference), | Repeat 2. week |
| 4 | Conditional statements (if-else), nested else-if statements, ○ Logical operators (&&, ||, !, etc.) | Repeat 3. week |
| 5 | String class | Repeat 4. week |
| 6 | Loops (while, for, do-while) | Repeat 5. week |
| 7 | Char data type and arithmetic operations | Repeat 6. week |
| 8 | Midterm | Repeat of weeks 1–7. |
| 9 | File I/O, console stream cin, input and output file streams, | - |
| 10 | String streams | Repeat 9. week |
| 11 | Structs, enum, ○ Vectors/arrays and vector operations: ■ Insert/delete to a vector | Repeat 10. week |
| 12 | Searching (Sequential, binary) ■ Sorting (selection and insertion sort) | Repeat 11. week |
| 13 | Vector of structs, matrix | Repeat 12. week |
| 14 | Classes and objects: using and modifying existing classes. | Repeat 13. week |
| 15 | Preparations for the final exam | Repat 1. - 14. week |
| 16 | Final Exam | Repeat of weeks 1–15 |


