I made my decision to retire in late December of 2020. I really wished I could redo all the videos for this course in one year; but it took me 16 months to finish this work. The first version was recorded using the classroom equipment. Unfortunately, many equipment glitches happened such as audio was suddenly muted for which I was blamed by some students and administrators. I myself was not satisfied with this first set of videos because the sound quality was below my expectation. Then, I started using my own basic equipment to do the second version. I used a Shure MV5 as a replacement of the built-in microphone of my MacBook Air; but I still used my MacBook Air's camera. The results seemed to be better, in particular the sound quality. However, the MacBook Air's webcam was not ideal. After my retirement decision was made, I decided that I had to invest more to do another round of recording the Concurrent Computing course even though I was not a professional video maker. Anyway, I had a big spending to acquire a good mirrorless camera, a professional lens, a professional microphone, and all the needed stuffs such as lighting equipment to re-ignite my project. On the other hand, revising the slides became an even more challenging task. Eventually, I finished this project on April 14, 2022!
Currently, there are two sets of videos, one set stored in the common directory which can be downloaded to your local computer for offline viewing, and the other set on YouTube. Please note that I have removed the first and second version videos stored in the common directory because these videos occupy a significant amount of disk space. There are 37 lectures and 775 slides available. The slides were an updated version used in the videos. Usually, the slides include typo corrections, etc., which are usually minor.
YouTube videos have a unique advantage: the time link feature for you to jump directly to a particular topic. The pinned comment just below the video description has all the time links to that video.
Revising all the class slides, recording and re-recording the videos, editing, etc. have been a very tedious and time consuming work. It took me 16 months to finish this project. I sincerely hope my investment in equipment (e.g., good camera+lens, microphone, lighting stuffs, other accessories such as a fast M1 Mac Mini to make video editing faster) and, of course, my precious time can help you better understand the course topics. If you have any suggestions and comments, please email me at shene@mtu.edu. You may also leave comments on YouTube. A "like" is very much appreciated. Note that this is a non-commercial channel, which means I receive nothing from YouTube!
Concurrent Computing is not the only video making project in my mind. So, please stay tuned as I will do more in the near future. I am so happy I finally completed this project and I will move on to other projects. These stuffs have no copyright restrictions; however, providing proper credits is always appreciated. Thank you!
Number of Weeks | Course Topics | Slides | No. of Slides | Total Slides | Videos (Local@MTU) | Videos (YouTube) | |
1 | Introduction | 01-Intro.pdf | 34 | 34 | |||
1 | Hardware and OS Review | 02-Hardware-OS.pdf | 26 | 60 | |||
3 | Process and Threads | Process | 03-Process.pdf | 81 | 141 | ||
Threads | 04-Thread.pdf | 24 | 165 | ||||
1 | Critical Sections and Mutual Exclusion | 05-Sync-Basics.pdf | 24 | 189 | |||
6 | Synchronization | Software and Hardware Solutions | 06-Sync-Soft-Hardware.pdf | 49 | 238 | ||
A Very Brief C++ and ThreadMentor Review |
07-Some-Cpp-TM.pdf | 51 | 289 | ||||
Mutex Locks and Semaphores | 08-Semaphores.pdf | 133 | 422 | ||||
Race Condition: Revisited | 09-Race-Conditions.pdf | 46 | 468 | ||||
Monitors | 10-Monitors.pdf | 90 | 558 | ||||
Deadlock and Livelock | 11-Deadlock.pdf | 89 | 647 | ||||
Communication Channels | 12-Channels.pdf | 28 | 675 | ||||
2 |
Programming Languages and System Supports |
Java Threads and Synchronization | 13-Java-Threads.pdf | 39 | 714 | ||
Ada Tasking | 14-Ada-Tasks.pdf | 28 | 742 | ||||
Pthreads | 15-Pthreads.pdf | 33 | 775 |
Topics | Slides | Videos | No. of Slides | Total Slides |
Course Information | 3331-info.pdf | 3331-info.mp4 | 21 | 21 |
EXAM I Review | EXAM1.pdf | EXAM1-Review.mp4 | 31 | 66 |
EXAM II Review | EXAM2.pdf | EXAM2-Review.mp4 | 32 | 98 |
Name | Description |
01-Basics.tar.gz | Sample Programs used in the Introduction Unit |
03-Process.tar.gz | Sample Programs used in the Process Unit |
07-Cpp-TM.tar.gz | Sample Programs used in the C++ Review Unit |
ThreadMentor-Linux64.tar.gz | ThreadMentor static system image compiled under the RedHat Linux 64-bit system |
Makefile | Sample Makefile to compile and run your ThreadMentor programs |
The following links may help you install Linux and run ThreadMentor-Linux64.tar.gz. Please note that once you have your Linux VM available, there is no need to install ThreadMentor-Linux64.tar.gz. What you need is downloading the software, unziping and untaring to a folder, and finally modifying the Makefile above so that all paths point to the correct folders. Please watch the ThreadMentor Demo lecture in the A Very Brief C++ and ThreadMentor Review.