COMPUTER PROGRAMMING
Qualification Awarded Program Süresi Toplam Kredi (AKTS) Öğretim Şekli Yeterliliğin Düzeyi ve Öğrenme Alanı
Associate (Short Cycle) Degree 2 120 FULL TIME TYÇ, TR-NQF-HE, EQF-LLL, ISCED (2011):Level 5
QF-EHEA:Short Cycle
TR-NQF-HE, ISCED (1997-2013): 48,52

Ders Genel Tanıtım Bilgileri

Course Code: 2000002034
Ders İsmi: UNIX/LINUX System Programming
Ders Yarıyılı: Spring
Ders Kredileri:
Theoretical Practical Labs Credit ECTS
1 2 0 2 3
Language of instruction: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Other Recommended Topics for the Course: No
Type of course: Bölüm Seçmeli
Course Level:
Associate TR-NQF-HE:5. Master`s Degree QF-EHEA:Short Cycle EQF-LLL:5. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Öğr.Gör. Mehmet Görkem KESTANE
Course Lecturer(s):
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: The goal of the Unix/Linux Systems Programming course is to provide students with basic and advanced knowledge of systems programming in Unix/Linux operating systems. Topics such as system calls, process management, input/output operations, and threads will be covered. Students will gain system-level program development skills on Unix/Linux systems, understand low-level operating system interactions, and implement practical applications.
Course Content: The Unix/Linux Systems Programming course provides in-depth knowledge of the kernel structures and system calls of Unix and Linux operating systems. The course covers systems programming techniques, process and memory management, file systems, network programming, and scripting in detail. The scripting section teaches how to perform automation and system administration tasks using shell scripts and other scripting languages. This course aims to equip students with effective and efficient application development skills in the Unix/Linux environment.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
1) 1.1.) Explain the historical development and architectural structure of UNIX/Linux operating systems.
2) 1.2.) Be able to define the file system hierarchy and basic system components.
3) 1.3.) Understand the general purposes of UNIX/Linux system calls.
2 - Skills
Cognitive - Practical
1) 2.1.) Be able to define the structure, services and components in Linux.
2) 2.2) Will be able to use the “bash” shell and basic shell commands effectively.
3) 2.3) Be able to write simple and intermediate level “bash” scripts.
4) 2.4.) Be able to apply basic file permissions, process management and network configuration operations in a UNIX/Linux environment.
3 - Competences
Communication and Social Competence
1) 3.1.) Will be able to communicate and collaborate effectively in UNIX/Linux based projects in a team environment.
Learning Competence
1) 3.2.) Explain the concept of open source software development.
2) 3.2.) Will be able to continue his/her own learning by following the current tools, versions and technological innovations in the UNIX/Linux ecosystem.
Field Specific Competence
1) 3.3.) Evaluate ethical, security and licensing principles in the use of UNIX/Linux systems.
2) 3.3.) Will be able to apply field-specific technical standards and best practices in system programming processes.
Competence to Work Independently and Take Responsibility
1) 3.4.) List the administrative duties and responsibilities in Linux systems.
2) 3.4.) Will be able to independently plan and perform a given system configuration or automation task on UNIX/Linux.

Ders Akış Planı

Week Subject Related Preparation
1) Introduction to the History of UNIX/Linux and the Command-Line Interface The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
2) File System and Commands The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
3) The Bash Shell The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
4) Shell Scripting The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
5) Regular Expressions The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
6) Stream Editor: sed The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
7) The awk Programming Language The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
8) Midterm Exam The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
9) Text Processing The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
10) System Administration The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
11) Advanced Shell Scripting The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
12) Commands and Scripts The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
13) Python Programming Language, Part I The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
14) Python Programming Language, Part II The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
15) General Review The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
16) Final The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13: 978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir) Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers", O'Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/) Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7 UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X

Sources

Course Notes / Textbooks: The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13:
978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir)
Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers",
O`Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/)
Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7
UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X
References: The Linux Command Line: A Complete Introduction, William E. Shotts, Jr., ISBN-13:
978-1-59327-389-7 (linuxcommand.org adresinden ücretsiz indirilebilir)
Jonathan Corbet, Alessandro Rubini, Greg-Koah Hartman, "Linux Device Drivers",
O`Reilly, 2005, ISBN 0-596-00590-3. (http://lwn.net/Kernel/LDD3/)
Core Python Programming, Wesley J. Chun, ISBN 0-13-226993-7
UNIX Shells by Example, Fourth Edition, Ellie Quigley, ISBN: 013147572X

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Program Outcomes
1) Possesses fundamental, up-to-date, and practical knowledge related to their profession.
2) They are knowledgeable about occupational health and safety, environmental awareness, and quality processes.
3) Keeps up with current developments and applications in their profession and uses them effectively.
4) Effectively uses information technologies (software, programs, animation, etc.) related to their profession.
5) Possesses the ability to independently evaluate professional problems and issues using an analytical and critical approach and to propose solutions.
6) Can effectively present their thoughts in writing and verbally at the level of knowledge and skills, and express them clearly.
7) Takes responsibility as a team member to resolve complex and unforeseen issues encountered in applications related to the field.
8) Has awareness of career management and lifelong learning.
9) The collection, application, and dissemination of data related to the field are guided by social, scientific, cultural, and ethical values.
10) Uses a foreign language to keep up with developments in their field and communicate with colleagues.
11) It creates algorithms and data structures and performs mathematical calculations.
12) Explains and applies web programming technologies.
13) Performs database design and management.
14) Tests software and fixes bugs.

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Possesses fundamental, up-to-date, and practical knowledge related to their profession. 5
2) They are knowledgeable about occupational health and safety, environmental awareness, and quality processes. 3
3) Keeps up with current developments and applications in their profession and uses them effectively. 5
4) Effectively uses information technologies (software, programs, animation, etc.) related to their profession. 5
5) Possesses the ability to independently evaluate professional problems and issues using an analytical and critical approach and to propose solutions. 5
6) Can effectively present their thoughts in writing and verbally at the level of knowledge and skills, and express them clearly. 4
7) Takes responsibility as a team member to resolve complex and unforeseen issues encountered in applications related to the field. 4
8) Has awareness of career management and lifelong learning. 3
9) The collection, application, and dissemination of data related to the field are guided by social, scientific, cultural, and ethical values. 4
10) Uses a foreign language to keep up with developments in their field and communicate with colleagues. 4
11) It creates algorithms and data structures and performs mathematical calculations. 3
12) Explains and applies web programming technologies. 3
13) Performs database design and management. 4
14) Tests software and fixes bugs. 5

Öğrenme Etkinliği ve Öğretme Yöntemleri

Alan Çalışması
Akran Değerlendirmesi
Anlatım
Beyin fırtınası /Altı şapka
Bireysel çalışma ve ödevi
Course
Problem Çözme
Soru cevap/ Tartışma
Örnek olay çalışması
Web Tabanlı Öğrenme
Staj/Yerinde Uygulama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework
Bireysel Proje

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 1 % 10
Project 1 % 20
Midterms 1 % 30
Semester Final Exam 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Application 14 2 28
Study Hours Out of Class 14 2 28
Midterms 1 1 1
Final 1 1 1
Total Workload 100