EECS 2031N

Software Tools


Syllabus
Notes
Notices
Dates
Labs
FAQs
Contact Info
Marks
Last Modified:
Jan 11 2022

Course Description


This course introduces software tools that are used for building applications and in the software development process. It covers ANSI-C (stdio, pointers, memory management, overview of ANSI-C libraries), Shell programming including filters and pipes (shell redirection, grep, sort & uniq, tr, sed, awk, pipes in C), Version control systems and the make mechanism, and debugging and testing. All of the above are applied in practical programming assignments.

Remediation


The weight of the different components of the course (ie written exam, labs, and labtests) will remain the same. But there will be additional opportunities to complete evaluation components for the course that you missed (or messed up) and the way these are calculated will change. More specifically:

Final Exam

There will be an additional opportunity to write the exam. The way it is calculated will not change. You cannot write the makeup final if you wrote the original.

Labtests

There will be an additional opportunity to write one labtest (even if you did not miss any of the three original ones). The best two out of the four will count for the labtest mark.

Regular labs

There will be an additional opportunity to write one regular lab (even if you did not miss any of the original ones). The best four out of the eight will count for the regular lab mark.

Lecture Hours Section N

Fri. 2:30-4:20pmpm in Las. B. The lecture will also be offered on zoom.

All lectures (remote and in-person) will be recorded and made available for you on eclass (Moodle). It is strongly recommended to attend the lectures in real time but if you have time conflict with other courses offered during the time slot, it is strogly recommended to watch the video shortly afterwards and before the labs.

Tests

There will be no midtermM and a final worth 37%. The final will cover all the material in the course and will be during the regular exam period.

Lab Assignments and Labtests.

There will be seven lab assignments carrying 33% of the total mark. The six best will count only, so if you miss one lab for any reason, your mark is not affected directly. The labs will be held during the prescheduled times. The regular lab assignments may include a multiple choice quiz that will carry 50% of the mark. The mark for programming questions of the lab assignments will be pass or fail and the programming questions are designed so that well prepared students can complete them on time. If for example you complete and submit the programming assignment and receive 80% on the quiz the mark for this lab will be 90%. If you complete the regular lab early, you ask a TA or the instructor to review the programming component and record the result. Then you can log out. Otherwise submit your work which will be marked by the TAs. Students that arrive late or leave early need to submit a complete program (running to specs, properly structured, etc).

There will be three labtests, which carry 10% each. Labs and labtests will be in LAS-1006. These are marked on 0-100 scale.

Text

The text is The C Programming Language (2nd edition) by Brian Kernighan and Dennis Ritchie Prentice Hall Software Series. It is not a required text and we are not going to follow it closely. But it is a classic.

Last Modified: Jan 12 02:50