CS255 Systems Programming Lab

Department of Computer Science

University of Crete

Instructor: Angelos Bilas

Semester: Spring 2025

 

 

Course Info                 Syllabus                       Assignments                Policies

 

 

Announcements

 

 

Date

Announcement

Feb 1, 2025

   Πρώτο μάθημα τη Δευτέρα 10 Φεβρουαρίου 2025, 10:00-12:00

   Εγγραφείτε στη mailing list του μαθήματος hy255-list

   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

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

Feb 1, 2025

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

Feb 1, 2025

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

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

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

Mar 5, 2025

 

 

 

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 10:00-12:00, Αμφ.ΣΟ (μεγάλο)

Wed 10:00-12:00, Αμφ.ΣΟ (μεγάλο)

Fri 10:00-12:00, Αμφ.ΣΟ (μεγάλο)

 

Instructors

 

Instructor

Office

Office Hours

Angelos Bilas

K.325

Mon, Wed 12:00-13: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

Tzanakis Nikos

csdp1396

csdp1396@csd.uoc.gr

K.316

18:00-19:00

Giorgos Xanthakis

gxanth

gxanth@csd.uoc.gr

K.316

13:00-14:00

Aspridis Nikos

csd5178

csd5178@csd.uoc.gr

K.316

18:00-19:00

Sinanis Andreas

csd5150

csd5150@csd.uoc.gr

K.316

15:00-16:00

Papafragkaki Kwnstantina

csdp1339

csdp1339@csd.uoc.gr

K.316

12:00-13:00

Anargyros Argyros

argyrosan

argyrosan@csd.uoc.gr

K.316

14:00-15:00

Damaskinakis Kwstas

csdp1388

csdp1388@csd.uoc.gr

K.316

11:00-12:00

Giorgos Saloustros

gesalous

gesalous@csd.uoc.gr

K.316

9:00-10:00

Morfiadakis Mixalis

csdp1368

csdp1368@csd.uoc.gr

K.316

12:00-13:00

Giannis Malliotakis

jmal

jmal@csd.uoc.gr

K.316

12:00-13:00

 

Last Modified: 20-Jan-2025 09:31