İsmail Hakkı TURAN

Room 236-C, Computer Engineering Department,
Address: Körfez, 19 Mayıs Ünv. No:64, 55270 Atakum/Samsun

hakki.turan[at]bil.omu.edu.tr


Lois Haibt

System Programming Course

Dedicated Office Hours for the Course

Name In Person Online
İsmail Hakkı TURAN Personal Room
(09:00-12:00 Wednesday)
(15:30-17:00 Friday)
Chat and Meet Link
(bil.omu accounts)

1st Week (16.10.2025)

Shell Scripting Tutorial (Automatic Translation Available)

A quick catch-up with shell basics.

Session Notes

Please open this file with a .md file previewer or view online.

Skills Learned from Week_1 Application:

  • Shell basics
  • Linux File System Hierarchy
  • PATH

How much was I able to work on the Week 1 application?






2nd Week (23.10.2025)

Continuation of Shell Basics

  • Concepts of stdin, stdout, and PIPE
  • SSH connection and using PuTTY
  • top and grep commands
  • File permissions chmod
  • Basic regex experiments (*, ?)
  • Running shell commands from the terminal or from a file

Basic TCP and UDP Sockets with Python

  • OSI layers
  • Transport layer protocols
  • Concepts of TCP and UDP and their differences
  • Typical TCP server and client implementation
  • Typical UDP client behavior and execution

Click the repository link

Skills Learned from Week_2 Application:

  • Understanding of standard input/output streams (stdin, stdout) and the use of pipes in shell operations
  • Experience with SSH connections and PuTTY for remote system access
  • Proficiency in using shell commands such as top and grep
  • Knowledge of file permissions and basic regular expressions (*, ?)
  • Ability to execute shell commands both interactively and from scripts
  • Comprehension of OSI layers and transport layer protocols (TCP and UDP)
  • Understanding the differences between TCP and UDP communication models
  • Implementation of a basic TCP server and client using Python
  • Execution and analysis of typical UDP client behavior in Python

TO-DO from Week_2 Application:




3rd Week (13.11.2025)

Skills Learned from Week_3 Application:

  • Data-holding objects, POJO
  • Preparing objects to be sent over a stream, serialization

    (Click the serialization repository link)

  • Google’s protocol that enables object exchange between different programming languages and systems, Protocol Buffers
  • Common programming mistakes, and the concepts of mutable and immutable

    (Click the link )

  • Is it possible to send an email using telnet with SMTP, which is a text-based protocol?

4th Week (27.11.2025)

Internalize the hierarchies in the examples. Try to distribute the workload in multi-threaded matrix multiplication using different partitioning strategies. Run shell commands with their parameter options, and make it a habit. Click here to access the documentation page for the commands used in the final exercise.

5th Week (04.12.2025)

Run shell commands with their parameter options, and make it a habit. Click here to access the documentation page for the commands used in the final exercise.

The next exercise will be announced soon via Classroom...






Flag Counter