Hey5 k; X! k: l8 \1 v& @3 |) [
I took COEN 236 last spring, and here's what I think about the class:3 b1 [) h7 S- v3 i
The class is not hard if you have a strong background in Operating Systems. The class is about InterProcess Communication rather than network programming. This means that you will learn about different methods of synchronizing multiple processes that interact with each other. The reason Operating Systems is useful is because the techniques used for synchronization are the same as those used by the Operating System to regulate access between processes: semaphores, mutexes, message queues.
: [$ i4 {8 u, a) M
$ Y, v x5 p9 @) @The workload can be light to moderate. It will be light if you have a strong C programming background and are used to programming under the Linux/Unix environment. There will be 4 programming projects handed out at the beginning of the quarter, and are due at regular intervals throughout the quarter. The 4 projects consist of essentially the same: a parent process and a child process talking to each other. The only difference between the 4 projects is the way in which the processes communicate. Therefore if you can abstract away the communication process into a function it should be quite easy to complete the later 3 projects (provided, of course, that the first one works). The mid-term and the final are the exact same format, 4 questions each. The instructor will have a 'review' in which he tells you pretty much the exact question that will appear on the exam. Therefore, it is crucial to go to class to get the exam questions. If you prepare ahead of time you'll do well on the exams for sure.! e* w* Z+ `6 y, a: u
, w7 h) h$ z5 {/ ?4 k$ l
The instructor is pretty nice, although a bit boring. He has a light accent but is quite easy to understand. He works full time at HP and therefore knows a lot of the stuff he is teaching because in some cases he was even part of the development team. He is always willing to answer questions, although quite hard to reach outside of class.
, o% h* p. k8 @+ `7 z4 q7 |/ I% |- h- j+ C h0 [
The class notes are distributed at the start of the quarter, and are for the entire quarter. He seems to use the same slides over and over again, and there are a lot of typos. However, slides aren't really important besides the ones that have pictures in them. Most of the slides contain the same material that's covered in the textbooks. The slides basically serve as a guideline when you go back to study the material.
. O! u- J M1 S; H0 G$ ~: b4 U6 s: t! X6 ]
The textbooks are wonderful. Thorough yet concise, the textbooks are said to be THE best textbooks ever written about interprocess communications, and it's a pity the author died before he could publish the third and final volume of the trilogy. Each chapter focuses on one topic, and provides plenty of examples that are concise and focused.% r& V2 |3 h% w( ]: C# S
) [4 Y( n4 [' V. X6 A0 V* t
All in all, the class is good if you're interested in synchronization. As for the materials for the class, I have the two required books + all the class notes printed out + all my projects + my "study guide" for the midterm and the final.* ?. d4 u4 D4 w0 F! k1 t7 m
. u- x8 Y( E4 u- W
Let me know if you have any further questions. |