|
YZM3009 | System Programming | 2+1+0 | ECTS:4 | Year / Semester | Fall Semester | Level of Course | First Cycle | Status | Compulsory | Department | DEPARTMENT of SOFTWARE ENGINEERING | Prerequisites and co-requisites | None | Mode of Delivery | | Contact Hours | 14 weeks - 2 hours of lectures and 1 hour of practicals per week | Lecturer | Öğr. Gör. Dr Celal ATALAR | Co-Lecturer | | Language of instruction | Turkish | Professional practise ( internship ) | None | | The aim of the course: | The aim of this course is; It is writing code on bash script and developing programs (gcc, g ++) using the compilers on the Unix system. In addition, it aims to provide a certain management on the system.
|
Learning Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | LO - 1 : | Manage the environment from the command line shell. | 1,3,8 | 1, | LO - 2 : | Shell and system commands can be explained. | 1,3,8 | 1, | LO - 3 : | Ability to write shell scripts for various system tasks. | 1,3,8 | 1, | LO - 4 : | It can be handled data of any text file using regular expressions. | 1,3,8 | 1, | LO - 5 : | Software development tools can be written programs in high-level programming languages. | 1,3,8 | 1, | LO - 6 : | You can use the system calls in C or C ++ programs. | 1,3,8 | 1, | LO - 7 : | Subsystem of file and process can be managed with system calls | 1,3,8 | 1, | CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome | |
1. Introduction to Unix, Structure of Unix System and Command System
2. Unix File System , File Permissions
3. Use of Text Editing Editors
4. Input/Output Redirection and Pipe Structures
5. Regular Expressions
6. Unix Window System
7. Unix Shell Environment ve Shell Environment Variables
8. Introduction Shell Script
9. Basic Shell Script
10. Advanced Shell Script
11. Software Development and Debug
12. File Management and Applications
13. Process Management
14. Basic Unix System Administration |
|
Course Syllabus | Week | Subject | Related Notes / Files | Week 1 | Introduction to Unix, Structure of Unix System and Command Line System, Short History of Unix, Some Unix Command | | Week 2 | Unix File Systems, Unix File Hierarchy, Working and Home Directories, File Of Types, File Permissions, File Content | | Week 3 | Use of Text Editors, Commands of vi Editor | | Week 4 | Input/Output Redirection and Pipe Structures | | Week 5 | Regular Expressions, grep and egrep Commands | | Week 6 | Unix Window System | | Week 7 | Unix Shell Environment ve Shell Environment Variables (PATH, HOME, USER vs), Bash Script, Aliases | | Week 8 | Introduction Shell Script, Script Execution, Shell Variables (Numeric, Arrays, Strings), Command-Line Arguments, if Statement, if else Statement, Logical Operators and Test Command, case Statement | | Week 9 | Midterm | | Week 10 | Loops for Shell Script (for, while, until, select), printf Arguments and Output Fomatting, tee Command, Associating Files with a File Descriptor, Read File | | Week 11 | Creating and Using Functions in Shell Script, Parameter Passing in Functions, Sharing Data Between Functions, echo Command, Using of echo Command's Arguments | | Week 12 | Software Development and Debug, sed and awk | | Week 13 | File Management and Applications, File Open Process (fopen) and File Open Arguments, Write to File (fprintf, fputs, fputc), Read From File (fgets, fgetc), Search in File Content (fseek) | | Week 14 | Process Management (ps, top, kill, nice), Process Creation (fork), exec Command | | Week 15 | Basic Unix System Administration, The superuser (root), File System Commands (mount, umount, fsck, sync) | | Week 16 | Fnal Exam | | |
1 | Haviland, K., Gray, D., Salama, B. 1999; UNIX System Programming, 2nd ed., Addison-Wesley, 350 p. | | 2 | Kochan, S. G., Wood, P. 2003; UNIX Shell Programming, 3rd ed., Sams, 460 p. | | |
1 | Robbins, K. A., Robbins, S. 1996; Practical UNIX Programming, Prentice Hall, 658 p. | | 2 | Michael, R. K. 2003; Mastering UNIX Shell Scripting, Wiley, 680 p. | | |
Method of Assessment | Type of assessment | Week No | Date | Duration (hours) | Weight (%) | Mid-term exam | 9 | | 1 | 50 | End-of-term exam | 16 | | 2 | 50 | |
Student Work Load and its Distribution | Type of work | Duration (hours pw) | No of weeks / Number of activity | Hours in total per term | Yüz yüze eğitim | 2 | 14 | 28 | Sınıf dışı çalışma | 2 | 10 | 20 | Arasınav için hazırlık | 3 | 5 | 15 | Arasınav | 1 | 1 | 1 | Uygulama | 1 | 14 | 14 | Dönem sonu sınavı için hazırlık | 4 | 8 | 32 | Dönem sonu sınavı | 2 | 1 | 2 | Total work load | | | 112 |
|