Course Objectives: |
This course covers computational design as well as software maintenance for students with little or no experience in computer programming, using the Python programming language. In addition to the elements of Python languages, the course will also teach sequential programming management and the basics of software development. |
Course Content: |
Basic computer concepts, Programming fundamentals, Variables, Expressions, Functions, Conditional expressions, Recursion, Abundant functions, Iterations, Loops, Strings, Lists, Dictionaries, Tuples. |
Week |
Subject |
Related Preparation |
1) |
Introduction of the course, meeting the instructor, basic computer concepts (Central processing unit, memory, backup, operating system, algorithm, software, programming and meeting Piazza, etc.). |
Think Python, 2nd Edition, How to Think Like a Computer Scientist, Allen Downey, Green Tea Press (2015). |
2) |
Fundamentals of programming, variables, expressions, idioms. |
Course notes |
3) |
Fundamentals of programming, variables, expressions, idioms. |
Course notes |
5) |
Functions |
Her Yönüyle Python, 5. Baskı, Fırat Özgül, Kodlab, 2017. |
6) |
Conditional expressions, recursion. |
Course notes |
7) |
Abundant functions |
Course notes |
8) |
Midterm exam |
Course notes |
9) |
Repetitions, loops. |
- |
10) |
Repetitions, loops. |
- |
11) |
Lists, Dictionaries, Tuples |
- |
12) |
Lists, Dictionaries, Tuples |
- |
13) |
Case study: choosing the right data structure. |
- |
14) |
Data structures |
- |
15) |
Final exam |
- |
|
Program Outcomes |
Level of Contribution |
1) |
To possess the ability to comprehend fundamental concepts in the field of computer technologies. |
|
2) |
To possess the ability to analyze and model problems in the field of computer technologies, and to determine and define appropriate software requirements for their solutions. |
|
3) |
To possess the ability to comprehend professional topics in a foreign language. |
|
4) |
To possess the capability to perform software installation, testing, and acceptance procedures. |
|
5) |
To possess the ability to carry out the setup and administration of computer networks, as well as utilize network operating systems. |
|
6) |
To possess the skill of conducting maintenance and repairs on computer hardware. |
|
7) |
To have awareness and responsibility regarding professional, legal, ethical, and social issues in the field of computer technologies. |
|
8) |
To possess the capability to plan, design, and develop computer and network software. |
|
9) |
To possess the ability to design and program for web development. |
|
10) |
To be competent in applying knowledge of database management, querying, and design to practical applications, and to be capable of developing database applications. |
|