Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Electrical and Computer Engineering - Systems Programming and Concurrency

University of Waterloo via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Dive into the world of systems programming and concurrency with this comprehensive lecture series. Explore essential topics including interrupts, system calls, file systems, processes, interprocess communication, sockets, network communication, threads, synchronization, deadlock, and advanced concurrency problems. Learn about various synchronization patterns, including the producer-consumer and readers-writers problems. Delve into deadlock avoidance, detection, and recovery techniques. Discover condition variables, monitors, atomic types, and the Byzantine Generals Problem. Examine concurrency in file systems and explore asynchronous I/O methods using select, poll, curl, AIO, and libevent. Access lecture notes and slides on GitHub for additional support throughout the course.

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

Reviews

4.4 rating, based on 5 Class Central reviews

Start your review of Electrical and Computer Engineering - Systems Programming and Concurrency

  • I recently completed an online computer engineering course, and I must say it was a rewarding experience. The course was offered by [Course Provider], and here's my detailed review: Content (5/5): The course content was extensive and covered a wi…
  • Pearlin Sheeena R M
    Fine lecture hours . Easy to understand. Learned new concepts on Operating System functionality. Really its awesome.
  • Edward Zulu
    Engineering is one of the best courses one can ever take, I really enjoyed the study and I'm hoping to advance in my studies. Engineering is the course that has helped the world to be at the level its at. Because the the revolutions and technology are as a result of Engineering
  • Profile image for Satyam Singh
    Satyam Singh
    Nice understanding the content is good 👍😊👍😊 everyone should learn this very good for ece and other branches too love it
  • LOVELL MANIEGO ABELLO
    Thanks a lot! Though I'm a CPA by profession...I am interested to explore engineering courses. For me..engineering programs are challenging and a tool for real progress. Thus, I am delighted to have discovered this course at a prestigious university. Is there any certificate of completion?

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.