Description of Individual Course Units
Course Unit CodeCourse Unit TitleType of Course UnitYear of StudySemesterNumber of ECTS Credits
230106001102Introduction to Programming ICompulsory115
Level of Course Unit
First Cycle
Objectives of the Course
The "Introduction to Programming - 1" course aims to introduce the fundamental concepts of programming and the Python programming language to students new to the field of software engineering. The focus of the course is to thoroughly explain the basics of computer science and algorithms to students starting from scratch and to equip them with practical Python skills. The course is designed to enhance students' abilities in algorithm development and problem-solving, and to lay a solid foundation for software development.
Name of Lecturer(s)
Dr. Öğr. Üyesi Fesih Keskin
Learning Outcomes
1Problem-Solving Ability: Students will acquire the ability to identify, analyze, and solve problems using the fundamental principles of computer science. This process involves identifying critical aspects of the problem, dividing problems into logical units, and developing effective algorithms for each unit.
2Algorithm Development and Flowcharts: Students will be capable of conceptualizing, designing, and transforming algorithms into flowcharts for a given problem. Moreover, they will be able to test the created flowcharts, identify potential errors, and apply correction methods.
3Programming Language and Environment Skills: Students will gain proficiency in using a programming language environment effectively. These skills include coding, debugging, and executing programs. They will also develop the ability to detect and correct syntax errors that may occur during programming.
4Variables and Control Structures: Students will master defining variables necessary for coding a program, and using control statements and loops where appropriate. This is essential for coding the program in the most efficient and effective manner possible.
5Code Writing and Testing: Students will have the ability to write program codes and run these programs under various testing scenarios. They will also be able to identify syntactic and logical errors and develop effective strategies for rectification.
6Practical Application and Problem Solving: Students will combine theoretical knowledge with practical applications to develop solutions to real-world problems. This process includes algorithm design, code development, and testing phases.
Mode of Delivery
Daytime Class
Prerequisites and co-requisities
None
Recommended Optional Programme Components
None
Course Contents
The "Introduction to Programming - 1" course begins with an introduction to computer science and an explanation of the fundamentals of algorithms. In the initial weeks, emphasis is placed on creating flowcharts and writing algorithms. Subsequently, the basic concepts of the Python programming language, its installation process, and development environments are introduced. As the course progresses, focus shifts to fundamental programming concepts, control structures, functions, and data structures. Students learn and apply basic structures in Python, such as string operations, loops, lists, tuples, and dictionaries. The course includes a review process supported by mid-term and final exams. Throughout this process, the goal is for students to reinforce their theoretical knowledge through practical applications and to acquire fundamental competencies in software development.
Weekly Detailed Course Contents
WeekTheoreticalPracticeLaboratory
1Introduction and Overview of Computer Science: Purpose and Content of the Course, Introduction to Computer Science, The Importance of Software Engineering and Computer Science, Fundamental Concepts of Programming, General Objectives and Expectations of the Course.
2Fundamentals of Algorithms and Flowcharts - Part 1: What is an Algorithm? Basic Principles of Algorithm Development, Simple Algorithm Examples and Algorithm Design, Problem-Solving Methods and Approaches.
3Fundamentals of Algorithms and Flowcharts - Part 2: Flowcharts: Basic Symbols and Creation of Flow Diagrams, Designing Algorithms Using Flowcharts, Detailed Examination of Algorithm Examples with Flowcharts.
4Introduction to the Python Programming Language: History and Features of the Python Programming Language, Python Installation and Development Environments (IDEs), Hello World Program and Basic Python Syntax.
5Basic Programming Concepts - Part 1: Variables, Data Types, and Assignments, Numerical and Textual Expressions, Simple Arithmetic Operations.
6Basic Programming Concepts - Part 2 String Operations (slicing, methods) Standard Input and Output Operations
7Conditional Statements Conditional Statements (if, else, elif) Simple Control Structure Examples
8Midterm Week: Midterm Exam Covering the Topics of the First 7 Weeks.
9Loops - Part 1: For Loop and Iteration, Exercises and Examples Related to Loops.
10Loops - Part 2: While Loop and Its Applications, Exercises and Examples Related to Loops.
11Functions - Part 1: Defining and Calling Functions, Parameters and Return Values.
12Functions - Part 2: Types of Parameters (positional, keyword), Exercises Related to Functions.
13Data Structures - Part 1: Lists, Tuples, and Sets, Definition, Access, Methods, Examples and Exercises.
14Data Structures - Part 2: Dictionaries: Usage, Methods, Comparison of Data Structures and Use Cases, Exercises Based on Mixed Data Structures.
15Final Exam
16Final Exam Course Closure and Evaluation
Recommended or Required Reading
1- Introduction to Computation and Programming Using Python - John V. Guttag, 2- Automate the Boring Stuff with Python - Al Sweigart, 3- Turkish Guide for Python 3 - Fırat Özgül.
Planned Learning Activities and Teaching Methods
Assessment Methods and Criteria
Term (or Year) Learning ActivitiesQuantityWeight
Midterm Examination1100
SUM100
End Of Term (or Year) Learning ActivitiesQuantityWeight
Final Examination1100
SUM100
Term (or Year) Learning Activities40
End Of Term (or Year) Learning Activities60
SUM100
Language of Instruction
Work Placement(s)
None
Workload Calculation
ActivitiesNumberTime (hours)Total Work Load (hours)
Midterm Examination111
Final Examination122
Self Study14570
Individual Study for Mid term Examination7321
Individual Study for Final Examination7428
Homework7428
TOTAL WORKLOAD (hours)150
Contribution of Learning Outcomes to Programme Outcomes
PO
1
PO
2
PO
3
PO
4
PO
5
PO
6
PO
7
PO
8
PO
9
PO
10
PO
11
PO
12
PO
13
PO
14
PO
15
PO
16
PO
17
PO
18
PO
19
PO
20
PO
21
PO
22
PO
23
LO154554555545555444555454
LO255554455555555555555555
LO355455554445555545454554
LO445545444555545554555555
LO545555555555554454454555
LO655445544454555555454555
* Contribution Level : 1 Very low 2 Low 3 Medium 4 High 5 Very High
 
Iğdır University, Iğdır / TURKEY • Tel (pbx): +90 476 226 13 14 • e-mail: info@igdir.edu.tr