Electrical and Computer Engineering - Systems Programming and Concurrency
Offered By: University of Waterloo via YouTube
Course Description
Overview
Syllabus
ECE 252: Introduction.
ECE 252 Gitlab Setup.
ECE 252 Lecture 1: Introduction.
ECE 252 Lecture 1: Our C Toolkit.
ECE 252 Lecture 2: Interrupts and System Calls.
ECE 252 Lecture 3: The File System.
ECE 252 Lecture 4: Processes.
ECE 252 Lecture 5: Processes in UNIX.
ECE 252 Lecture 6: Interprocess Communication (IPC).
ECE 252 Lecture 7: Sockets.
ECE 252 Lecture 8: Network Communication.
ECE 252 Lecture 9: Pipes and Shared Memory.
ECE 252 Lecture 10: Threads.
ECE 252 Lecture 11: Threads and Concurrency.
ECE 252 Lecture 12: Concurrency: Synchronization & Atomicity.
ECE 252 Lecture 13: Semaphores.
ECE 252 Lecture 14: Synchronization Patterns.
ECE 252 Lecture 15: The Producer-Consumer Problem.
ECE 252 Lecture 16: The Readers-Writers Problem.
ECE 252 Lecture 17: Deadlock.
ECE 252 Lecture 18: Deadlock Avoidance.
ECE 252 Lecture 19: Deadlock Detection and Recovery.
ECE 252 Lecture 20: Advanced Concurrency Problems.
ECE 252 Lecture 21: Condition Variables, Monitors, and Atomic Types.
ECE 252 Lecture 22: Of Asgard and Hel.
ECE 252 Lecture 23: The Byzantine Generals Problem.
ECE 252 Lecture 24: Concurrency in File Systems.
ECE 252 Lecture 25: More Concurrency in File Systems.
ECE 252 Lecture 26: Asynchronous I/O with select, poll.
ECE 252 Lecture 27: Asynchronous I/O with curl.
ECE 252 Lecture 28: Asynchronous I/O with AIO.
ECE 252 Lecture 29: Asynchronous I/O with libevent.
ECE 252 Lecture 30: Preparing for the Final.
Taught by
Jeff Zarnett
Tags
Related Courses
Intro to Operating Systems 3: ConcurrencyCodio via Coursera Concurrent Programming in Java
Rice University via Coursera Comprehensive Java Course Certification Training
Edureka Advanced Software Construction in Java
Massachusetts Institute of Technology via edX Computer Hardware and Operating Systems
New York University (NYU) via edX