Course Name | Code | Semester | T+A+L (hour/week) | Type (C / O) | Local Credit | ECTS |
---|---|---|---|---|---|---|
Computer Programming II | CMPE 241 | Fall-Spring | 02+00+02 | Elective | 3 | 6 |
Academic Unit: | Computer Engineering Department |
Mode of Delivery: | Face to face |
Prerequisites: | CMPE 140 |
Language of Instruction: | English |
Level of Course Unit: | Undergraduate |
Course Coordinator: | Fabio STROPPA |
Course Lecturer(s): | Fabio STROPPA |
Course Objectives: | This course is fundamental for programmers and software engineers. It will introduce students to basic computer programming and coding concepts and develop problem-solving skills. Students will learn the elemental topics in computer science, such as the architecture of a computer, numerical bases, and memory management. Students will learn one of the most important programming languages: C++. Students will learn how to use pointers and how to dynamically allocate memory, how to work with files, and will be briefly introduced to object-oriented programming. |
Course Contents: | Introduction to computer programming, structure of a program, compilers, numerical bases, boolean operators, basics of C++, statements and flow control, computer architecture, functions, name visibility, arrays, strings, pointers, dynamic memory management, I/O with files, preprocessor, header files, overloads, templates, exception handling, data structures and object-oriented programming (OOP). |
Learning Outcomes of the Course Unit (LO): |
|
Planned Learning Activities and Teaching Methods: | Classroom discussion and computer laboratory work. |
Week | Subjects | Related Preperation |
---|---|---|
1 | Introduction, Hello World, Storing Data in Memory, Basics C++ | Course material, Textbook, Exercises in the Lab, Assignments |
2 | Functions, Functions in Memory, Templates | Course material, Textbook, Exercises in the Lab, Assignments |
3 | Name Visibility, Arrays, Matrix, Exceptions, Headers | Course material, Textbook, Exercises in the Lab, Assignments |
4 | Characters, Strings, Preprocessor | Course material, Textbook, Exercises in the Lab, Assignments |
5 | Pointers | Course material, Textbook, Exercises in the Lab, Assignments |
6 | Dynamic Memory Allocation | Course material, Textbook, Exercises in the Lab, Assignments |
7 | IO with Files | Course material, Textbook, Exercises in the Lab, Assignments |
8 | Basics of Data Structures | Course material, Textbook, Exercises in the Lab, Assignments |
9 | Object Oriented Programming | Course material, Textbook, Exercises in the Lab, Assignments |
10 | Object Oriented Programming | Course material, Textbook, Exercises in the Lab, Assignments |
11 | Project Preparation | Course material, Textbook, Exercises in the Lab, Assignments |
12 | Project Preparation | Course material, Textbook, Exercises in the Lab, Assignments |
13 | Project Preparation | Course material, Textbook, Exercises in the Lab, Assignments |
14 | Project Preparation | Course material, Textbook, Exercises in the Lab, Assignments |
• Herbert Schildt. "C++: The complete reference". McGraw-Hill Education; 4th edition (December 10, 2002). • Paul J. Deitel, and Harvey M. Deitel. "C++: how to program". Pearson; 10th edition (February 29, 2016). • Bjarne Stroustrup. "The C++ Programming Language". Addison-Wesley Professional; 4th edition (May 9, 2013) |
• C++ full reference: https://www.cplusplus.com • Online compiler: https://app.coderpad.io/sandbox |
Semester Requirements | Number | Percentage of Grade (%) |
---|---|---|
Midterms / Oral Exams / Quizes | 2 | 90 |
Final Exam | 1 | 10 |
Total: | 3 | 100 |
Events | Count | Duration (Hours) | Total Workload (hour) |
---|---|---|---|
Course Hours | 14 | 2 | 28 |
Laboratory | 14 | 2 | 28 |
Practice / Exercise | 89 | 1 | 89 |
Exam (Exam Hours and Preparation) | 2 | 2 | 4 |
Oral Exams | 1 | 1 | 1 |
Total Workload (hour): | 150 |
# | PQ1 | PQ2 | PQ3 | PQ4 | PQ5 | PQ6 | PQ7 | PQ8 | PQ9 | PQ10 | PQ11 |
LO1 | |||||||||||
LO2 | |||||||||||
LO3 | |||||||||||
LO4 | |||||||||||
LO5 | |||||||||||
LO6 |