INTRODUCTION TO PROGRAMMING
- Course
- ITEC112 - INTRODUCTION TO PROGRAMMING
- Department
- Information Technologies - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- English
- Credit
- 4
- ECTS
- 6
- T+P+L
- 3 + 0 + 2
- Course Coordinator(s)
- Prof. Dr. Tolgay KARANFİLLER
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 writing full programs or modifying existing programs for other solutions.
INTRODUCTION TO PROGRAMMING
Evaluation Tools (Active Term)
| Item | Type | Weight (%) |
|---|---|---|
| Kısa Sınav 1 | Quiz | 10 |
| Kısa Sınav 2 | Quiz | 10 |
| Lab | Assignment | 10 |
| Vize | Midterm | 30 |
| Final | Final | 40 |
| 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 | Introduction to Computer Algorithms |
| Week 2 | Problem Analysis and Construction of Algorithms - pseudocode / flowchart |
| Week 3 | Introduction to Python: program flow, basic input and output operations |
| Week 4 | Variables, arithmetic and logical operations |
| Week 5 | Logical Operations and selection - IF / ELIF / Switch-case |
| Week 6 | Loops - For / While |
| Week 7 | Loops - Do-While, revision, Quiz1 |
| Week 8 | Midterm Exam |
| Week 9 | Midterm Exam |
| Week 10 | Nested loops (For/While) |
| Week 11 | Functions |
| Week 12 | Functions, Arrays |
| Week 13 | Data Collections |
| Week 14 | Exception handling |
| Week 15 | Revision, Quiz2 |
Reference Books & Course Materials
- 01 Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic, O'Reilly, 2019
- 02 Python Programming for Beginners, Philip Robbins, Functional Software Programming, 2024
Learning Outcomes
- L01 Implement basic sorting and searching algorithms on small arrays SOLO 4
- L01 Differentiate between different types of input/output operations and their uses and compare different development environments SOLO 4
- L01 Differentiate between different types of input/output operations and their uses and compare different development environments SOLO 4
- L02 Describe different data types and their uses in programming SOLO 3
- L02 Describe different data types and their uses in programming SOLO 3
- L03 Implement programs using variables, arithmetic, and logical operations and analyze their effectiveness SOLO 4
- L03 Implement programs using variables, arithmetic, and logical operations and analyze their effectiveness SOLO 4
- L04 Compare different selection statements and explain their advantages and disadvantages in specific programming scenarios SOLO 3
- L04 Compare different selection statements and explain their advantages and disadvantages in specific programming scenarios SOLO 3
- L05 Classify different types of loops in Phyton SOLO 3
- L05 Classify different types of loops in Python SOLO 3
- L06 Differentiate between different types of input/output operations and their uses and compare different development environments SOLO 4
- L06 Differentiate between different types of input/output operations and their uses and compare different development environments SOLO 4
- L07 Implement user-defined functions that are modular, reusable, and well-documented, and can effectively integrate functions into larger programs SOLO 4
- L07 Implement user-defined functions that are modular, reusable, and well-documented, and can effectively integrate functions into larger programs SOLO 4
- L08 Apply basic operations on arrays SOLO 4
- L08 Apply basic operations on arrays SOLO 4
- L09 .Implement basic sorting and searching algorithms on small arrays SOLO 4
Program Outcomes
- P01 To be able to understand analog and digital games' theoretical and historical development.
- P02 Has a general understanding of the history and culture of the nation and the world in which he lives.
- P03 Digital game engines are well-suited for application.
- P04 His/Her mastery of the fundamental sciences underpins his/her expertise in the creation of digital games.
- P05 Understand the mechanics, logic, and frameworks of analog and digital games.
- P06 Possesses an aesthetic sensibility and knowledge of art.
- P07 Communication, art, music, psychology, sociology, mythology, philosophy, economics, cinema, history, and other disciplines gained the potential to benefit from one another during the game design process.
- P08 Knowing how media and digital games affect people and society and designing games responsibly in light of that knowledge.
- P09 Be able to assess critically the knowledge and abilities acquired through research in the area and other related areas.
- P10 Acquires expertise in artistic design to aid in the creation of digital games.
- P11 Make good use of digital game creation software and programs.
- P12 Possesses the skills necessary to write the code for digital games created for various platforms.
- P13 Possesses the capacity to jointly build digital games' aesthetic and computational aspects.
- P14 Possesses the capacity to create and communicate stories utilizing a variety of technologies.
- P15 Has the capacity to design, plan, and analyze the game as a concept.
- P16 Possesses the capacity to come up with tangible fixes for the issues that arise during the creation of digital games.
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L01 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L07 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L07 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L08 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L08 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| L09 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |