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 Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied knowledge in these areas in complex engineering problems.
- P02 Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
- P03 Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the desired result; ability to apply modern design methods for this purpose.
- P04 Ability to devise, select, and use modern techniques and tools needed for analysing and solving complex problems encountered in engineering practice; ability to employ information technologies effectively
- P05 Ability to design and conduct experiments, gather data, analyse and interpret results for investigating complex engineering problems or discipline specific research questions
- P06 Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
- P07 Ability to communicate effectively in Turkish, both orally and in writing; knowledge of a minimum of one foreign language; ability to write effective reports and comprehend written reports, prepare design and production reports, make effective presentations, and give and receive clear and intelligible instructions.
- P08 Recognition of the need for lifelong learning ; ability to access information, to follow developments in science and technology, and to continue to educate him/herself
- P09 Consciousness to behave according to ethical principles and professional and ethical responsibility; knowledge on standards used in engineering practice.
- P10 Knowledge about business life practices such as project management, risk management, and change management; awareness in entrepreneurship, innovation; knowledge about sustainable development.
- P11 Knowledge about the global and social effects of engineering practices on health, environment, and safety, and contemporary issues of the century reflected into the field of engineering; awareness of the legal consequences of engineering solutions.
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | P11 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - |