CS255 Systems Programming Lab

Department of Computer Science

University of Crete

Instructor: Angelos Bilas

Semester: Spring 2026

 

 

Course Info                 Syllabus                       Assignments                Policies

 

 

Announcements

 

 

Date

Announcement

Feb 2, 2026

   Πρώτο μάθημα τη Δευτέρα 9 Φεβρουαρίου 2026, 09:00-11:00

   Εγγραφείτε στη mailing list του μαθήματος h y 2 5 5 @ l i s t . c s d . u o c . g r

   Course schedule will always be on the CS255 web page

   Questions on Assignments: CS255 Moodle

   Link τηλεδιδασκαλίας, εφόσον χρειαστεί

Feb 2, 2026

Στο μάθημα "Εργαστήριο Λογισμικού" θα χρησιμοποιήσουμε την πλατφόρμα του moodle για την επίλυση αποριών. Έχει δημιουργηθεί μία ομάδα συζητήσεων για κάθε άσκηση. Παρακαλείσθε να ελέγχετε συχνά την εκάστοτε ομάδα συζητήσεων και να βλέπετε τις ερωτήσεις των συμφοιτητών σας. Εάν γνωρίζεται την απάντηση, σας ενθαρρύνουμε να την αναρτάτε και εάν είναι λάθος θα σας διορθώσει κάποιος βοηθός. Παρακαλείσθε προτού αναρτήσετε μία νέα ερώτηση να βεβαιώνεστε ότι δεν έχει ερωτηθεί ήδη από κάποιον συμφοιτητή σας. Ακόμη, είναι επιθυμητό κάθε απορία να διατυπώνετε σε ξεχωριστή ανάρτηση με κατάλληλο τίτλο για να διευκολύνετε τους συμφοιτητές σας.

Feb 2, 2026

Εξετάσεις στο ΗΥ255 με βάση τους ισχύοντες κανόνες για την εκπαιδευτική διαδικασία:

·      Όλες οι εξετάσεις (ασκήσεων, πρόοδος, τελικό διαγώνισμα) γίνονται δια ζώσης τις ημέρες και ώρες που ορίζονται για κάθε εξέταση.

·      Στις ημέρες των γραπτών εξετάσεων (πρόοδος, τελικό διαγώνισμα) και των αναπληρωματικών τους εξετάσεων θα γίνεται και η αναπληρωματική εξέταση ασκήσεων όσων φοιτητών δεν κατάφεραν να εξεταστούν για βεβαιωμένους ιατρικούς λόγους μόνο, τις κανονικές ημέρες εξέτασης των ασκήσεων.

 

 

 

 

 

 

Course Information

 

 

The purpose of this course is to provide a solid understanding of the fundamentals in systems programming. The course covers three basic aspects of programming systems: The machine view usually presented to the programmer and the language interface to this view, program design and implementation, and programming tools that abstract tedious processes. The course uses mainly the C programming language and the Unix environment.

 

Please also read the policies section.

 

Course type

   Core course, 6 ECTS

   Prerequisites: CS100 or CS150

 

Tools

   Course schedule will always be on the CS255 web page

   Questions on Assignments: CS255 Moodle

   Course mailing list h y 2 5 5 @ l i s t . c s d . u o c . g r

 

 

Textbooks

 

 

Required

 

   In-class lecture notes.

   Course topics close to the language:

o   C Programming: A Modern Approach. K. N. King. W. W. Norton & Company, 2nd Edition, 2008. (Available in the University Library)

   Course topics close to the OS:

o   (online) Programming from the Ground Up. Jonathan Bartlett, 2004. [html] [pdf]

o   Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2003. (Available in the University Library)

 

Optional

 

   Language reference:

o   (online) The C Library Reference Guide, Eric Huss, 1997. [html]

o   (online) The C Book, Mike Banahan, Declan Brady and Mark Doran, Second Edition, 2003. [html] [pdf (updated 2020)]

o   C: A Reference Manual, 5th Edition. Samuel P. Harbison and Guy L. Steele Jr. 5th Edition, Pearson, 2002

 

   Tools:

o   (online) Programming with GNU Software. Gary V. Vaughan, Akim Demaille, Paul Scott, Bruce Korb, and Richard Meeking.  Edition 2, 2002. [pdf]

o   Reference cards: C, Xemacs, Unix, bash, gdb, git, valgrind, GNU documentation.

 

   Style:  

o   (online) C Elements of Style, Steve Oualline, 1992. [html]

o   (online) Recommended C Style and Coding Standards. L.W. Cannon et al., 1995. [pdf]

o   (online) C Style and Coding Standards, Glenn Skinner, Suryakanta Shah, and Bill Shannon. AT&T Information System, Sun Microsystems. [pdf]

 

   Design and Implementation:

o   C Interfaces and Implementations, David R. Hanson, Addison-Wesley, 1996.

 

   Expert:

o   Expert C Programming: Deep C Secrets. Peter van der Linden. 1st Edition, Prentice Hall, 1994.

 

   Attitude:

o   Writing Solid Code, Steve Maguire, Microsoft Press, 1993.

 

 

Schedule

 

 

Lecture 1

Lecture 2

Backup Lecture

Mon 09:00-11:00, Αμφ.ΣΟ

Wed 09:00-11:00, Αμφ.ΣΟ

Fri 09:00-11:00, Αμφ.ΣΟ

 

Instructors

 

Instructor

Office

Office Hours

Angelos Bilas

K.325

Mon, Wed 11:00-12:00 (ping me at the end of class)

 

Teaching Assistants

 

You can reach TAs for in-person questions during office hours in the respective lab space. For general questions, you can use e-learn.

 

Name

Login/email

Office

Monday

Tuesday

Wednesday

Thursday

Friday

Giannis Malliotakis

jmal

K.316

12:00-13:00

Giorgos Xanthakis

gxanth

K.316

13:00-14:00

Tzanakis Nikos

csdp1396

K.316

18:00-19:00

 

 

 

 

Anargyros Argyros

argyrosan

K.316

14:00-15:00

 

 

 

 

Giorgos Saloustros

gesalous

K.316

 

 

 

 

9:00-10:00

Damaskinakis Kwstas

csdp1388

K.316

 

 

11:00-12:00

 

 

Tsatsarakis Myron

csdp1379

K.316

 

 

 

 

 

Giakoumakis Stavros

csd4497

K.316

 

 

 

 

 

Athanasiadis Anastasios

csdp1440

K.316

 

 

 

 

 

Lasithiotakis Nikolaos

csdp1429

K.316

 

 

 

 

 

 

Last Modified: 02-Feb-2026 09:31