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
- Knowledge of mathematics, natural sciences, basic engineering, computer-based computation, and topics specific to the relevant engineering discipline.
- 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.
- 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.
- 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.
- 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.
- Ability to design creative solutions to complex engineering problems.
- Ability to design complex systems, processes, devices, or products in a way that meets present and future needs while considering realistic constraints and conditions.
- 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.
- 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.
- Ability to conduct literature research and use appropriate research methods for the investigation of complex engineering problems.
- Ability to design experiments for the investigation of complex engineering problems.
- Ability to conduct experiments, collect data, analyse results, and interpret findings for the investigation of complex engineering problems.
- 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
- Awareness of the legal implications of engineering solutions within the framework of the United Nations Sustainable Development Goals (SDGs).
- Knowledge of ethical responsibility and adherence to the principles of professional engineering conduct.
- Awareness of acting impartially without discrimination in any matter and of being inclusive of diversity.
- Ability to work effectively as an individual.
- Ability to work effectively as a team member or leader in intra-disciplinary teams (face-to-face, remote, or hybrid).
- Ability to work effectively as a team member or leader in multidisciplinary teams (face-to-face, remote, or hybrid).
- 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).
- 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).
- Knowledge of professional practices such as project management and economic feasibility analysis.
- Awareness of entrepreneurship and innovation.
- Ability for independent and lifelong learning.
- Ability to adapt to new and emerging technologies.
- Lifelong learning ability that includes the capacity to think critically about technological changes.
Po-Lo Matrix
| LO | Average | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |