ECE 650
Methods and Tools for Software Engineering
Fall 2024
Topics
- Software Systems (∼ 40% of the course contents): systems programming and operating systems, scripting, system calls, libraries, compilers, · · ·
- Mathematical Logic (∼ 15% of the course contents): propositional logic, syntax seman- tics, entailment deduction and the use of logic in software, · · ·
- Algorithms and Data Structure ( ∼ 45% of the course contents): stacks, heaps, trees, graphs, algorithms to manipulate them, · · ·
Readings
- Introduction to Algorithms, Cormen et al.,2nd edition http://lib.uwaterloo.ca/
- Logic for Computer Scientistshttps://link.springer.com/book/10.1007/978-0-8176-4763-6 Add proxy.lib.uwaterloo.cato domain name to access! Or use: https://uwaterloo.ca/ library/make-link Course Style
- No textbooks are required The lecture slides will be based on:
Fall 2021
Topics
- Software systems ( 40%), mathematical logic ( 15%), data structures ( 45%) (Detailed description of syllabus on next page. )
Readings
- All course material made available via LEARN. Slides developed by various instructors at Waterloo, including Arie Gurfinkel, Vijay Ganesh, and others. There are no textbooks for
Fall 2015
Readings
- Advanced Linux Programming
- Logic for Computer Scientists, Uwe Schoning
- Introduction to Algorithms, Cormen et al., second edition (Accessible online via the university library.)
Sources
- Course catalogue ↗2026–2027
- course_outline ↗Fall 2024
- course_outline ↗Fall 2021
- course_outline ↗Fall 2015
- Official public PDF outline or course description. Materials and topic extracts may be partial; consult the linked source for the full list.
- Official public PDF outline or course description. Materials and topic extracts may be partial; consult the linked source for the full list.
- Public departmental course outline. Source may be archival; no current-term assignment is implied. Bibliographic details are preserved in textbook notes.