Subject: Re: COP-4338, COP-4604 From: Raju Date: 1/25/2012 9:57 AM To: Jason Liu CC: Norman Pestaina , Mark Allen Weiss , Xiaowen Liu , Jinpeng Wei , Nagarajan Prabakar Hi Jason, Thanks for the input. I agree with (almost) all of your observations. The only item I would recommend differently is that network (socket) programming and MPI should NOT be part of the syllabus. I think these are add-on topics to the course and should be left as per the preference of the instructor. For instance, I would do system calls which I would not put in the syllabus but would cover these just based on my personal interest if time permits. Finally, I do not see any overlap with the OS course. The only item is threading which is covered very differently in both courses; the OS course has advanced concepts in threading. Raju On Jan 25, 2012, at 1:28 AM, Jason Liu wrote: > > Hi All. > > > > Thanks, Norman, for forwarding the documents. > > > > About the learning outcome, here's what I see the COP-4338 course > > should be comprised of: > > > > 1. The language is C, not C++. Adding C++ in 4338 is possible but we > > need to realize that'll be a substantial addition. It's hard to talk > > about C++ without the fairly complicated C++ object oriented flavor. > > And that will take quite some time to cover completely. Personally I > > don't think C++ is critical for what the course is supposed to focus > > on. > > > > 2. The system is Unix. It's developing basic programming on true > > modern operating systems, meaning we use Unix editors, gnu compilers, > > makefiles, and gdb. These are the basic elements for program > > development (not IDEs). > > > > About prerequisite, COP 3530 data structure is not on the critical > > path for the advanced programming course. I'm OK lowering it to be > > COP-3337. Co-requisite with 3530 is also OK. > > > > About the name, my opinion is that we don't need to rename this > > course. Programming III is advanced programming. Specifically, it's > > NOT about system programming (which ought to deal with system-specific > > aspects, like device drivers, network intrinsics, kernel modules, > > etc.). It's about programming on a true modern operating system (which > > happens to be Unix). And we deal with fundamental concepts, including > > understanding of basic program structure (stacks, heaps, etc), > > pointers, memory management, and also advanced programming techniques, > > such as multiprocessing, multithreading, I/O, socket programming, and > > even parallel programming (using MPI). It's what I view as CS > > essential programming knowledge. > > > > Now the question is whether to include other "advanced" programming > > languages, such as python. But given the limited class time, we need > > to focus on the essential. With a good understanding of the above, I > > think the students will appreciate it'll become easier to learn other > > languages and packages. > > > > I'm not sure there is an overlap of this course with the OS course. > > But I'll defer that to Raju and Jinpeng, who have taught the course. > > > > I attached the syllabus and a detailed schedule of the COP-4338 course > > which I taught in the Fall 2011. You'll see what specific topics have > > been covered there. > > > > Best, > > -jason. > > > > > > > > > > On Fri, Jan 20, 2012 at 4:24 PM, Norman Pestaina wrote: >>> >>> Raju, Jason, Jinpeng: >>> >>> >> >> >> >> Here are the revised Course Outcomes and proposed Learning Outcomes. >> >> >>> >>> As the faculty have approved changing COP-4338 to focus on C and Unix, >>> >>> please revise the syllabus accordingly, including learning outcomes. >>> >>> (Norman: please email to all the most recent version you have that >>> >>> includes learning outcomes). >>> >>> >>> >>> There is also a suggestion to change the prerequiste of COP-4338 from >>> >>> COP-3530 to COP-3337, or maybe make COP-3530 a co-requisite, to restore >>> >>> the length of the longest prerequisite chain; however you would need to >>> >>> decide if that makes sense. >>> >>> >>> >>> There is also a past suggestion to rename the course to have a more >>> >>> "Systems" title. >>> >>> >>> >>> We also would need a revision of the Unix Course (formerly COP-4225, now >>> >>> COP-4604) syllabus to avoid overlap with the newer COP-4338. >>> >>> >>> >>> Thanks! >>> >>> >>> >>> Mark >>> >>> > > > > > > > > -- > > Jason Liu, Associate Professor > > School of Computing and Information Sciences > > Florida International University > > Phone: 305-348-1625 > > Fax: 305-348-3549 > > Email: liux@cis.fiu.edu > > Web: http://www.cis.fiu.edu/~liux/ > >