[Sep/8] Welcome to ECE 454, class website online.
course goes beyond prior programming courses to teach students to better
understand computer hardware, operating systems, and compilers from a
programmer's perspective. In particular this course leverages this improved
understanding to allow students to program for good performance. Students
will learn how to measure and understand program execution and behavior, how
to get the most out of an optimizing compiler, how memory is allocated and
managed, and how to exploit caches and the memory hierarchy. Furthermore,
students will learn about current trends in multicore, multithreaded, and
data parallel hardware, how to exploit parallelism in their programs, the
fundamentals of parallel architectures and synchronization techniques, and
the recent trend of distributed data analytics (e.g., big data analytics)
---these latter topics are relatively new to undergraduate curricula and in
increasing demand in industry. Students will get hands-on experience with
most topics through programming assignments.
site provides instructor's lecture notes and all lab-related information.
announcements and the course discussion is on the Piazza web site.
grades are available at the UofT portal site.
is no required textbook for this course.
Systems: A Programmer's Perspective (2nd Edition), Randal E. Bryant and
David R. O'Hallaron, Prentice Hall, 2010
syllabus provides an overview of the course.
lecture and lab times and office hours are shown below:
Lecture Times: Tuesday, Thursday, Friday 12:00 - 13:00 PM,
Lab Times: Monday 9:00AM - 12:00PM and Monday 15:00PM - 18:00PM
(Both days GB 243 and GB 251)
Professor Office Hours: Tuesday and Thursday 1:00PM - 2:00PM
TA Office Hours: TBA
Midterm exam: TBA
Final exam: 40%
Midterm exam: 25%
Lab assignment: 35% (15%, 20%, 25%, 20%, 20% respectively for each lab
Bonus points for answering questions on Piazza:
every instructor endorsed answer will get 0.5 bonus points, 2 bonus points
Plagiarism: Each group should work independently. You may confer with
each other, but your work should be your own. You should understand your code
well enough to describe it to the TA and make simple changes to it when asked
The teaching team welcomes feedback, by e-mail, on
Piazza, and especially in person.