Information Package

Program of Civil Engineering (English)

CE112

INTRODUCTION TO PROGRAMMING

Course Code
CE112
Semester
Second Term (Spring)
Theory+Practice
2 + 2
ECTS
5
Course TypeCompulsory Course
Course LevelBachelor's Degree
Year of Study1
SemesterSecond Term (Spring)
ECTS5
Name of Lecturer(s) -
Learning Outcomes

At the end of this course, the students;

  1. Explain the fundamental concepts of algorithmic problem solving and programming,
  2. Solve problems using input-output, decision, and loop structures and implement their solutions in Python,
  3. Develop modular Python programs using functions,
  4. Solve basic searching, sorting, and data processing problems using Python data structures,
  5. Develop, execute, test, and debug Python programs.
Mode of DeliveryFace to face
PrerequisitesNo
Recommended Optional Programme ComponentsNone
Course DescriptionFundamental concepts of problem solving and algorithmic thinking. Programming and program development processes. Introduction to the Python programming language. Development, execution, testing, and debugging of Python programs. Variables, fundamental data types, operators, and input-output operations. Decision and loop structures. Functions and modular programming. Python data structures: lists, tuples, dictionaries, and sets. One- and two-dimensional data structures. Searching, sorting, and basic matrix operations. Algorithmic solutions to engineering problems using Python. Hands-on computer-based implementation of the programming concepts and problem-solving techniques covered throughout the course.
Course Contents
WEEK TOPICS
1st Week Problem Solving, Algorithmic Thinking, and Programming Concepts
2nd Week Python Programming Environment, Basic Program Structure, and First Applications
3rd Week Variables, Data Types, Operators, and Input-Output Operations
4th Week Decision Structures and Problem-Solving Applications
5th Week Decision Structures and Advanced Problem-Solving Applications
6th Week Loop Structures and Problem-Solving Applications
7th Week Nested Loops and Applications
8th Week Midterm
9th Week Functions and Modular Programming
10th Week Problem Solving with Functions and Python Built-in Functions
11th Week Lists and List Operations
12th Week Tuples, Dictionaries, and Sets
13th Week Searching and Sorting Algorithms
14th Week Two-Dimensional Data Structures and Matrix Applications
15th Week Solving Engineering Problems with Python, Testing, and Debugging
Recommended or Required ReadingDowney, A. B., Think Python: How to Think Like a Computer Scientist, 3rd Edition, O?Reilly Media, 2024.
Deitel, P. & Deitel, H., Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud, 1st Edition, Pearson, 2020.
Guttag, J. V., Introduction to Computation and Programming Using Python: With Application to Computational Modeling and Understanding Data, 3rd Edition, The MIT Press, 2021.
Planned Learning Activities and Teaching Methods
  • Lecture
  • Questions/Answers
  • Problem Solving
  • Practice
  • Presentation
Assessment Methods and Criteria
Quantity Percentage (%)
Mid-term 1 40
Quiz 3 20
Total(%) 60
Contribution of In-term Studies to Overall Grade(%) 60
Contribution of Final Examination to Overall Grade(%) 40
Total(%) 100
ECTS Allocated Based on Student Workload
Activities Quantity Duration (Hour) Total Workload (Hour)
Midterm exam 1 2 2
Preparation for Quiz 3 5 15
Individual or group work
Preparation for Final exam 1 34 34
Course hours 14 4 56
Preparation for Midterm exam 1 20 20
Laboratory (including preparation)
Final exam 1 2 2
Homework 2 9 18
Quiz 3 1 3
Total Work Load150
Total Work Load / 30 (h)5
ECTS Credit of the Course5
Language of InstructionEnglish
Work Placement(s)No
LO1 LO2 LO3 LO4 LO5
K1 X X X X X
K2 X X X X X
K3
K4 X X X X X
K5
K6
K7
K8
K9
K10
K11