CmpE 322 - F. A. Q.


What kind of a course is CmpE 322 ?

CmpE 322 is one of the most fundamental courses in the BU computer engineering cirruculum. Therefore it's not hard to guess that  it's not the easiest ! Traditionally  students write programs in various programming languages focusing on the functionality of the program without paying attention to how they are compiled and executed on a computer. On the other hand, students also come to realize that a computer is actually system with physical resources (such as CPU cycles, memory, hard disk etc). So this course aims at closing this gap in the mind of students - i.e. how can  this system composed of many hardware components be made to run our programs and others' programs even if we do not much care about this in our original programs. There is a third agent (other than our program and physical hardware) which arranges all the abstractions for all necessary components of computer and lets us and others use and share them in an efficent manner. This agent is called an Operating System.and is the whole subject matter of this course.

Will the emphasis be on theory or on practice ?

Actually it will be on both. In regular class hours you will go over the fundamentals of operating systems. This part will be the theroy part where content will be independent of any particular OS. In the Lab/PS hours, however,  full emphasis will be on how the theory is applied in practical OS designs. Traditionally our choice for the practice part is Linux.

What is meant by Lab/PS hours ?

Lab/PS hours is the generic name for the classes where practical side of OS design is shown through Linux examples. In that sense they are regular classes where students come to class. There is no computer lab specifically dedicated to Linux. Therefore it's your own responsibility to have running linux distribution at hand. In this course we assume you have minimum competence in installing and using Linux.

Why Linux and not some other OS ?

There are many reasons for this choice. First of all because it's open source. Do not forget that you will go into kernel level details and make modifications down there in your term projects. This is not possible with MS products. Secondly there is a very crowded Linux community on the net. Linux is a well documented project . It's very easy to get help when you are stuck with a specific issue. Of course there are other open source OSs out there but when compared to Linux they can be classified as toy projects. So all experience you accumulate during this course will be about a real OS and this is a nice feeling , if nothing else.

Did you just say "term projects" ?

Yes we did ! Term project(s)  is(are) one of the most important components of this course (Both pedagogically and in terms of grading) Term projects are the unique chances for you to apply and internalize all the course material - both theory and practice.

What happens if I cannot get a passing grade from the term projects ? 

I can still pass the course if I did well in the exams, can't I ?

We're afraid you cannot. Passing grade from the term project(s) is mandatory.If you fail from the projects, you fail from the course no matter what grades did you get in the exams. As mentioned above, in this course theory and practice are equally important and doing fine in the exams indicate competence in theory part only.

 

Do we expect questions from material shown in PS/Lab classes ?

Yes. All of the exams will consist of questions (weighing about up to 20% - 35%)  related to PS/Lab classes.