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 (firstname.lastname@example.org)
Xing (Shane) Zhao
The course will rely mainly on the following textbooks.
Download the syllabus (v1.0)
Introducing C, C fundamentals, formatted input/output, expressions, selection statements, loops, basic types.
Arrays, functions, program organization, pointers, pointer arithmetic.
Strings, input/output, files, structures, dynamic memory allocation, linked lists, Makefile.
Brief review of the topics covered.