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 Should have sufficient knowledge in mathematics, science, and subjects specific to the relevant engineering discipline.
- P02 Should have the ability to use theoretical and applied knowledge in mathematics, science, and related engineering disciplines in complex engineering problems.
- P03 Should have the ability to detect, define, formulate, and solve complex engineering problems.
- P04 Should have the ability to select and apply appropriate analysis and modeling methods to solve complex engineering problems.
- P05 Should have the ability to design a complex system, process, device, or product to meet specific requirements under realistic constraints and conditions.
- P06 Should have the ability to apply modern design methods.
- P07 Should have the ability to develop, select, and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications.
- P08 Should have the ability to use information technologies effectively.
- P09 Should have the ability to design experiments, for the study of complex problems or discipline-specific research topics.
- P10 Should have the ability to conduct experiments, collect data, analyze and interpret results for the study of complex problems or discipline-specific research topics.
- P11 Should have the ability to work in intradisciplinary teams.
- P12 Should have the ability to work in interdisciplinary teams.
- P13 Should have the skills to work individually.
- P14 Should have the ability to communicate effectively verbally and in writing.
- P15 Should have the knowledge of at least one foreign language.
- P16 Should be able to write effective reports, understand written reports, and prepare design and production reports.
- P17 Should have the ability to make effective presentations.
- P18 Should have the ability to give and have clear and understandable instructions.
- P19 Should gain consciousness (awareness) about the necessity of lifelong learning.
- P20 Should have the ability to access information.
- P21 Should have the ability to follow developments in science and technology and constantly renew himself/herself.
- P22 Should gain the awareness of professional and ethical responsibility and should act in accordance with ethical principles.
- P23 Should gain knowledge about the standards used in engineering applications.
- P24 Should gain knowledge about project management, risk management, and change management practices in business life.
- P25 Should gain awareness about entrepreneurship, and innovation.
- P26 Should gain knowledge about development in sustainability.
- P27 Should gain knowledge about the effects of engineering practices on health, environment, and security at universal and social dimensions and the problems of the age reflected in the field of engineering.
- P28 Awareness should be gained about the legal consequences of engineering solutions.
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 | P27 | P28 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |