CS255 Systems Programming Lab

Department of Computer Science

University of Crete

Instructor: Angelos Bilas

Semester: Spring 2023

 

 

Course Info                 Syllabus                       Assignments                Policies

 

 

Announcements

 

 

Date

Announcement

Feb 2, 2023

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

 

Feb 2, 2023

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

 

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

 

Feb 2, 2023

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

 

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

 

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

 

Mar 20, 2023

Οδηγίες για την Εξέταση της Προόδου

 

·      Η εξέταση της προόδου θα πραγματοποιηθεί την Παρασκευή 24/03 από τις 10:00 - 11:50. Για να διαβάσετε τις οδηγίες και να δείτε σε ποια αίθουσα γράφετε πατείστε εδώ: Οδηγίες Εξέτασης Προόδου

 

 

Course Information

 

 

The purpose of this course is to provide a solid understanding of the fundamentals in programming systems. 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.

 

Teaching Assistant

Login

Office

Office Hours

Giorgos Kelantonakis

csdp1224

K.316

Mon 14:00-15:00

Evangelos Maliaroudakis

malvag

K.316

Mon 15:00-16:00

Orestis Chiotakis

csd4275

K.316

Tue 13:00 - 14:00

Giorgos Stylianakis

geostyl

K.316

Tue 11:00-12:00

Giorgos Xanthakis

gxanth

K.316

Tue 12:00-13:00

Giannos Evdorou

csdp1229

K.316

Tue 17:00-18:00

Iacovos Kolokasis

kolokasis

K.316

Wed 17:00-18:00

Christos Zarkos

csd4516

K.316

Thu 13:00-14:00

Thanasis Nakas

csdp1213

K.316

Thu 09:00-10:00

Kyriaki Miniadou

csdp1304

K.316

Thu 15:00-16:00

 

Last Modified: 2-Feb-2023 09:31