INTRODUCTION TO PROGRAMMING
- Course
- CMPE111 - INTRODUCTION TO PROGRAMMING
- Department
- Computer Engineering - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 4
- ECTS
- 6
- T+P+L
- 3 + 2 + 0
- Course Coordinator(s)
- Asst. Prof. Dr. Parvaneh SARGON
- Prerequisite
- Keywords
Course Description
The course will introduce basic and fundamental programming constructs and techniques through using the C++ programming language in order to generate algorithmic solutions to problems. Upon completion of the course, students will learn an introduction to algorithms, solving problems by flowcharts and pseudo codes, header files, data types, arithmetic & logic operators, control statements (if, if/else, switch-case) and use them as inner statements, loop statements (while, do/while, for), functions, standard functions of programming language, random number generation and their area of use, user-defined functions, global and local variables, recursion, arrays, searching algorithms on arrays, sorting algorithms on arrays, pointers, pointer operators, using pointers with arrays and functions. In the laboratory hours, students are supposed to write full programs or modify existing programs for other solutions.
INTRODUCTION TO PROGRAMMING
Evaluation Tools (Active Term)
| Item | Type | Weight (%) |
|---|---|---|
| Midterm | Midterm | 35 |
| Lab | Assignment | 10 |
| Lab Quiz | Quiz | 10 |
| Final | Final | 45 |
| Total | 100 | |
Course outcomes
- 01 analyse problems and design solutions through algorithms (draw flowchart and write pseoudocode);
- 02 define fundamental constructs of computer programming (i.e. sequence, selection and loops);
- 03 convert algorithms into C++ compatible programming code;
- 04 write structured programs using user defined functions;
- 05 write structured programs using arrays;
- 06 Identify programming constructs from given problems and create structured programming patterns when writing computer programs.
Course Syllabus
| Week | Topic |
|---|---|
| Week 1 | Icebreaker, Introduction to Computer Algorithms |
| Week 2 | Problem Analysis and Construction of Algorithms - pseudocode / flowchart |
| Week 3 | Introduction to C/C++ Programming: program flow, basic input and output operations |
| Week 4 | Variables, arithmetic and logical operations |
| Week 5 | Logical Operations and selection - If / If-else / Switch-case |
| Week 6 | Loops - For / While |
| Week 7 | Loops - Do-While and revision before Midterm exam |
| Week 8 | Midterm Exam |
| Week 9 | Nested loops (For/While) |
| Week 10 | Pre-defined Functions |
| Week 11 | User-defined Functions |
| Week 12 | Arrays in Computer Programming (1D arrays) |
| Week 13 | Operations on Arrays (Search/Sort), 2D Arrays and using arrays in user-defined Functions |
| Week 14 | Revision |
| Week 15 | Final Exam |
Reference Books & Course Materials
- 01 Beginning Programming with C For Dummies, Dan Gookin, John Wiley & Sons, 2013
- 02 C How to Program, Fifth Edition, Deitel & Deitel, Prentice Hall, 2007.
- 03 A Book on C, Fourth Edition, Al Kelley and Ira Pohl, Addison Wesley, 1999.
Learning Outcomes
- L01 analyse problems and design solutions through algorithms (draw flowchart and write pseoudocode);
- L02 define fundamental constructs of computer programming (i.e. sequence, selection and loops);
- L03 convert algorithms into C++ compatible programming code;
- L04 write structured programs using user defined functions;
- L05 write structured programs using arrays;
- L06 Identify programming constructs from given problems and create structured programming patterns when writing computer programs.
Program Outcomes
- P01 Knowledge of mathematics, natural sciences, basic engineering, computer-based computation, and topics specific to the relevant engineering discipline.
- P02 Ability to apply knowledge of mathematics, natural sciences, basic engineering, computer-based computation, and topics specific to the relevant engineering discipline to the solution of complex engineering problems.
- P03 Ability to define complex engineering problems by using knowledge of basic sciences, mathematics, and engineering, while considering the relevant United Nations Sustainable Development Goals (SDGs) related to the problem addressed.
- P04 Ability to formulate complex engineering problems using knowledge of basic sciences, mathematics, and engineering, while considering the relevant United Nations Sustainable Development Goals (SDGs) associated with the problem addressed.
- P05 Ability to analyse and solve complex engineering problems using knowledge of basic sciences, mathematics, and engineering, while considering the relevant United Nations Sustainable Development Goals (SDGs) associated with the problem addressed.
- P06 Ability to design creative solutions to complex engineering problems.
- P07 Ability to design complex systems, processes, devices, or products in a way that meets present and future needs while considering realistic constraints and conditions.
- P08 Ability to select and use appropriate techniques and resources—including estimation and modelling—for the analysis and solution of complex engineering problems, while being aware of their limitations.
- P09 Ability to select and use modern engineering and computational tools—including estimation and modelling—for the analysis and solution of complex engineering problems, while being aware of their limitations.
- P10 Ability to conduct literature research and use appropriate research methods for the investigation of complex engineering problems.
- P11 Ability to design experiments for the investigation of complex engineering problems.
- P12 Ability to conduct experiments, collect data, analyse results, and interpret findings for the investigation of complex engineering problems.
- P13 Knowledge of the impacts of engineering practices on society, health and safety, the economy, sustainability, and the environment within the framework of the United Nations Sustainable Development Goals (SDGs).
- P14 Awareness of the legal implications of engineering solutions within the framework of the United Nations Sustainable Development Goals (SDGs).
- P15 Knowledge of ethical responsibility and adherence to the principles of professional engineering conduct.
- P16 Awareness of acting impartially without discrimination in any matter and of being inclusive of diversity.
- P17 Ability to work effectively as an individual.
- P18 Ability to work effectively as a team member or leader in intra-disciplinary teams (face-to-face, remote, or hybrid).
- P19 Ability to work effectively as a team member or leader in multidisciplinary teams (face-to-face, remote, or hybrid).
- P20 Ability to communicate effectively in spoken form on technical matters, taking into account the diverse characteristics of the target audience (such as education, language, and profession).
- P21 Ability to communicate effectively in written form on technical matters, taking into account the diverse characteristics of the target audience (such as education, language, and profession).
- P22 Knowledge of professional practices such as project management and economic feasibility analysis.
- P23 Awareness of entrepreneurship and innovation.
- P24 Ability for independent and lifelong learning.
- P25 Ability to adapt to new and emerging technologies.
- P26 Lifelong learning ability that includes the capacity to think critically about technological changes.
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | P17 | P18 | P19 | P20 | P21 | P22 | P23 | P24 | P25 | P26 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |