This course provides an introduction to software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the system when programs are executed? Core topics: Unix environment, shell programming, creating and using software tools, pipes and filters, file processing, processes, system calls, signals.
Lectures: Tue and Thu 09:30am-10:30am at CLH E (Curtis Lecture Hall E)
Labs/Tutorial: Tue and Wed 13:00am-15:00pm at LAS 1006 (Lassonde building)
Office Hours: Tue and Thu 10:30am-11:30am at LAS 3050 (or by appointment)
Manos Papagelis (papaggel@gmail.com)
Nastaran Babanejad
Mehedi Hassan
Tilemachos Pechlivanoglou
Nasim Razavi
Xing (Shane) Zhao
The course will rely mainly on the following textbooks.
Download the syllabus (v1.0)
Introduction, administrivia, introduction to UNIX and UNIX environment.
Readings:
Introducing C, C fundamentals, formatted input/output, expressions, selection statements, loops, basic types.
Readings:
Arrays, functions, program organization, pointers, pointer arithmetic.
Readings:
Strings, input/output, files, structures, dynamic memory allocation, linked lists, Makefile.
Readings: