CSE2031
Software Tools
(2011-12 Summer)
Announcements
Announcements During the Term
Calendar
What Happens When
The Labs
Information on the labs is posted only at labtime.
Slides shown during the course
The Course
This course introduces software tools that are used for building applications
and in the software development process.
The course covers the following topics:
- C programming (stdio, pointers, memory management, overview of the C libraries).
Primarily C89/ANSI-C, but with a look at C95 and C99.
- Shell programming under Unix (Bourne/Bash shell, filters and pipes)
- Testing and debugging
- Practical programming skills (interfaces, version control systems,
"make" mechanism, performance and optimization)
- Parts of the POSIX system call interface.
The above topics will be applied in practical programming exercises.
Sections and Instructors
Section A
- Instructor: Gordon Turpin (gordon [at] cse [dot] yorku [dot] ca)
- Office Hour: Tuesday 4:00 - 5:00 in LAS 3020
- Lecture: Tuesday, 18:00 - 20:00 in SLH E
- Labs: Note that lab attendance is required.
- Lab02: Wednesday, 17:00 - 19:00 in LAS 1006
Teaching Assistant(s)
- Cyrus Minwalla: cyrusm [at] cse [dot] yorku [dot] ca
- Hui Wang: huiwang [at] cse [dot] yorku [dot] ca
Required Texts
- Kernighan, Brian W. and Ritchie, Dennis M.
The C Programming Language, 2nd Ed.
Prentice Hall, 1988
ISBN 0-13-110362-8
Short and well written, covering C89/ANSI-C,
this is the classic C book.
- Practical Programming in the Unix Environment
Edited by W. Stürzlinger
Pearson Custom Publishing, 2003
ISBN 0-536-74996-5
This is a compendium of material from two other texts.
- Brian Gough
An Introduction to GCC
Network Theory Ltd. 2005
book's website
A very short guide to gcc, the C compiler we're using.
Note the link to an online html version at the very bottom of the book's webpage
- it's not necessary to acutally purchase this book;
use the online version if you like.
Additional/Recommended Texts
A list can be found
here.
Course Evaluation
- 25% 2 equally weighted assignments:
The following links will become acitve when the assignments are posted.
- 10% Several (4 - 6) small unannounced labtests throught the term.
These labtests will be based on previous labs. Note that lab attendance is a
required part of the course.
- 30% midterm
- 35% final exam