CS255 Systems Programming Lab

Department of Computer Science

University of Crete

Instructor: Angelos Bilas

Semester: Spring 2024

 

 

Course Info                 Syllabus                       Assignments                Policies

 

 

Announcements

 

 

Date

Announcement

Feb 1, 2024

   Πρώτο μάθημα τη Δευτέρα 5 Φεβρουαρίου 2024, 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, 2024

Στο μάθημα "Εργαστήριο Λογισμικού" θα χρησιμοποιήσουμε την πλατφόρμα του moodle για την επίλυση αποριών.

 

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

 

Feb 1, 2024

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

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

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

 

Mar 5, 2024

·      Εξέταση Προόδου: Τετάρτη 20/3 10:00 - 12:00. Δείτε εδώ https://www.csd.uoc.gr/~hy255/midterm.html σε ποια αίθουσα γράφετε.

 

 

 

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

Μον, 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

Alex Antonakakis

csd4802

csd4802@csd.uoc.gr

K.316

16:00-17:00

15:00-16:00

Giorgos Xanthakis

gxanth

gxanth@csd.uoc.gr

K.316

14:00-15:00

Vangelis Maliaroudakis

malvag

malvag@csd.uoc.gr

K.316

17:00-18:00

Iacovos Kolokasis

kolokasis

kolokasis@csd.uoc.gr

K.316

09:00-10:00

Kyriaki Miniadou

kminiadou

kminiadou@csd.uoc.gr

K.316

09:00-10:00

Anargyros Argyros

argyrosan@ics.forth.gr

K.316

13:00-14:00

Giannos Evdorou

evdorou

evdorou@csd.uoc.gr

K.316

17:00-18:00

Stelios Malamas

csd4677

csd4677@csd.uoc.gr

K.316

12:00-14:00

Thodoris Pontzouktzidis

csd4336

csd4336@csd.uoc.gr

K.316

16:00-18:00

Giorgos Saloustros

gesalous

gesalous@csd.uoc.gr

K.316

10:00-11:00

Tevrentzidis Alexandros

csd4383

csd4383@csd.uoc.gr

K.316

14:00-16:00

Giannis Malliotakis

jmal

jmal@csd.uoc.gr

K.316

12:00-13:00

 

Last Modified: 1-Feb-2024 09:31