v20051003

This is a template for "CSE Official ABET Course Description" that we (WSU/CSE) will use for our ABET EAC + CAC visits during Fall 2005.    We ask our faculty to fill this out.  In this template, the first two pages are for ABET EAC course description, followed by pages for CAC additional items, the 3a-k matrix,  the ABET Entry and Exit Surveys.  The pages are separated by a horizontal line.   The ABET EAC course description (alone) must not exceed 2 pages.  There are no such strict maxima for the rest.

Please let me (prabhaker.mateti@wright.edu) know of any omissions, and suggest improvements.  But do note that the various elements it contains are chosen to meet the demands of the Self Study for both EAC and CAC.  Optional items are indicated with "if any".  Instructions and comments are in this color="#008000" Blue sentences are cut-and-pasted from ABET Self-Study Questionnaires. 

In order to illustrate the various pieces, this template uses CEG 433 course as an example. All material appearing in black is intended to be a specific example in the context of CEG 433. 

This is an HTML file so that both Unix and Windows machines can be used.  But, if you prefer, use MS-Word, and send us a .doc file.  Please delete all material in this green and blue colors before sending your course description.

EAC and CAC specific versions are derived from the file received.  Jennifer Limoli edits the file through MS-Word and makes sure that the page breaks occur at the "horizontal lines", fonts are OK, etc. and saves it as a .doc file.  You provide the content, we take care of the "format."

In Appendix I.B., Course Syllabi, provide standard descriptions for courses used to satisfy the mathematics and basic sciences, and engineering topics required by Criterion 4. The format should be consistent for each course, must not exceed two pages per course, and, at a minimum, contain the information listed below:

Department, number, and title of course

Designation as a ‘Required’ or ‘Elective’ course

Course (catalog) description

Prerequisite(s)

Textbook(s) and/or other required material

Course objectives

Topics covered

Class/laboratory schedule, i.e., number of sessions each week and duration of each session

Contribution of course to meeting the professional component

Relationship of course to program outcomes

Person(s) who prepared this description and date of preparation


Begin of the syllabus document.

Department and Course Number CEG 433 Course Coordinator Prabhaker Mateti
Course Title

Operating Systems

Total Credits 4

BS CE:  Required; BS CS:  Required.  Either Required or Elective.  We will verify.

This document was prepared by: Prabhaker Mateti Date: April 04, 2005

Catalog Data

This description must match what is in WSU Undergraduate Catalog.

The management of resources in multi-user computer systems. Emphasis is on problems of file-system design, process scheduling, memory allocation, protection, and tools needed for solutions. Course projects use the C/C++ language and include the design of portions of an operating system. 3 hours lectures, 2 hours lab.  Prerequisites: CEG 320, and CS 400.

Text Books and Other Source Materials

  1. Avi Silberschatz and Peter Galvin, Operating System Concepts, 6th Ed, Addison-Wesley, 2003.
  2. W. Richard Stevens, Advanced Programming in the Unix Environment, Addison-Wesley, ISBN: 0-201-56317-7.

Home Page (if any) http://www.cs.wright.edu/~pmateti/Courses/433/

Learning Objectives

This is an *important* section.  List the learning objectives in this subsection.  It need not be as detailed as the finer grain one below.  I suggest 5 as a target for the number of items. 

The student should have learned the following:

  1. Design and in developing larger and complex programs
  2. Internal structure of hierarchical file systems

  3. Memory Allocation, and Virtual Memory Usage
  4. Signal and exception handling
  5. The interactions between applications and the hardware

Prerequisites by Topic

  1. Programming experience in C++ .
  2. Program development tools: editors, compilers, linkers, debuggers.
  3. Data structures: arrays, stacks, queues, lists, binary trees.
  4. Familiarity with the Unix environment.
  5. Computer Architecture: Interrupts, Kernel/User modes, Hardware Protection

Course Content

Please list major topics -- one line per week.  Generally, 9 lines so that one midterm plus a buffer period is accounted for.

  1. Operating Systems, Systems implementation languages; From booting to shut down.
  2. Unix file system design. The structure of i-nodes. The mechanism of mount.
  3. The semantics of file open, read/write, close and unlink.
  4. Shell Programming, File IO, redirection, Filters and pipes. Pointers to functions.
  5. argc, argv, envp. Unix system calls, Signal handling. setjmp and longjmp.
  6. Dynamic storage allocation and liberation.
  7. Virtual memory. Address spaces. Swapping, Page replacement algorithms.
  8. IO subsystem: DMA; Interrupt handlers; driver interfaces; overview of drivers.
  9. Case Studies: Unix or Windows.

Class/Laboratory Schedule

Each week has two lectures of 75-minutes each. There is no scheduled lab. Students are expected to work in open labs for no less than 2 hours a week.

Laboratory projects (specify number of weeks on each)

There is one project for the course.  This is done in pieces that progressively build on the preceding ones.  Typically, the project is split into five pieces worth 5+5+10+5+5% respectively.  Each piece takes two weeks.

If it can still fit in the two page limit, be as elaborate as the following.  Else make it briefer.

The projects are evaluated based on three criteria: (1) approach, clarity, and elegance, (2) correctness, and (3) efficiency. These projects must be work done solely by the student, except for the parts provided by the instructor. The implementation must be in C or C++ demonstrable on our Linux systems.

Contribution to Professional Component

"The professional component requirements specify subject areas appropriate to engineering but do not prescribe specific courses."  For more on this topic, please read Criterion 4. Professional Component of 2004-05 Engineering Criteria reproduced below.  

Criterion 4. Professional Component

The professional component requirements specify subject areas appropriate to engineering but do not prescribe specific courses. The engineering faculty must assure that the program curriculum devotes adequate attention and time to each component, consistent with the objectives of the program and institution. Students must be prepared for engineering practice through the curriculum culminating in a major design experience based on the knowledge and skills acquired in earlier course work and incorporating engineering standards and realistic constraints that include most of the following considerations: economic; environmental; sustainability; manufacturability; ethical; health and safety; social; and political. The professional component must include:

(a) one year of a combination of college level mathematics and basic sciences (some with experimental experience) appropriate to the discipline

(b) one and one-half years of engineering topics, consisting of engineering sciences and engineering design appropriate to the student's field of study. The engineering sciences have their roots in mathematics and basic sciences but carry knowledge further toward creative application. These studies provide a bridge between mathematics and basic sciences on the one hand and engineering practice on the other. Engineering design is the process of devising a system, component, or process to meet desired needs. It is a decision making process (often iterative), in which the basic sciences, mathematics, and the engineering sciences are applied to convert resources optimally to meet these stated needs.

(c) a general education component that complements the technical content of the curriculum and is consistent with the program and institution objectives.

CEG 433 contributes 4 hours to the Criterion 4(b) Engineering Topics, and also contains engineering design.

Course Contribution to Program Educational Objectives

What contribution does the course make to the BS degree program objectives?  This relates to Criteria 2.  Our WSU BSCS and BSCEG objectives are reproduced below.

  1. To produce graduates recognized by industrial, government, and academic entities as having a sound, current, and comprehensive education by providing a balanced and integrated hardware and software educational experience that is rich in modern laboratory, project, and design experiences, and which emphasizes team participation, problem solving, and communication skills.
  2. To prepare and retain students, who, upon graduation will be motivated to pursue lifelong learning, continuing education, and graduate studies, as required by their personal development goals, through a stimulating, broad, and modern educational experience which is well grounded in the mathematical, scientific, and engineering principles, as well as in the fundamental concepts and theory of computing
  3. To instill a sense of social responsibility, a code of conduct, and ethical values appropriate to the discipline in the CS&E students, so that they are valuable contributors in their societal and professional environments
  4. To encourage broad participation in our programs of women and minorities, and of non-traditional students (such as part-time, working, returning, and disabled students) though accessible facilities and through our scheduling and conduct of late afternoon and evening classes
  5. To recognize and encourage excellence in faculty teaching, research and service

CEG 433 contributes to Objectives 1 and 2.  Through exposure to the internals of operating systems, it deepens the skills to produce efficient software.  The design experience gained through the course project is realistic.  The student is also prepared to move on to other operating systems both past and future ones.

Course Contribution to Program Outcomes and Assessment

Please read ABET Criteria 3 for details.  This short version is included in the ABET self-study.  There is a longer version of this needed for our internal use.

a b c d e f g h i j k
PXX PXX PXX 0 PX 0 P PX PX PX PXX

This should be end of page 2.  Page 1 and 2 constitute the ABET EAC syllabus.  The next page 3 is for CAC.  Pages 1, 2, and 3 constitute the ABET CAC syllabus.


Estimate CSAB Category Content

"The outline format calls for information on the content of the course in the areas of computer science theory, communications skills development and application, social and ethical implications of computing, and problem analysis and solution design experiences. This is not intended to suggest that every course must have some coverage of each of these topics. For a given course, please include the information from a listed area only if the course has significant content in that specific area. "

The subject categories below are fixed by ABET CAC.  If necessary use the catch all Other category.

  Core Advanced     Core Advanced
Data Structures   0.5   Concepts of PL   0.5
Algorithms   1.0   Comp Organization + Architecture   1.0
Software Design   1.0   Other    

Oral and Written Communications

The CAC suggested statement is this: "Every student is required to submit at least _____ written reports (not including exams, tests, quizzes, or commented programs) of typically _____ pages and to make _____ oral presentations of typically _____ minutes duration." Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.

There are no oral presentations.  Students submit source code of their projects along with a "ReadMe", a text file that highlights the design details as well as problems and defects in their program.  We do not claim that the ReadMe.txt constitutes written communications in the sense intended by this section.

Social and Ethical Issues

Please list the topics that address the social and ethical implications of computing covered in all course sections. Estimate the class time spent on each topic. In what ways are the students in this course graded on their understanding of these topics (e.g., test questions, essays, oral presentations, and so forth)?

The development of user interfaces, and permissions to various computer resources is presented in the societal context..

Theoretical Content

Please list the types of theoretical material covered, and estimate the time devoted to such coverage.

None.

Problem Analysis

Please describe the analysis experiences common to all course sections.

The projects are about a component of Operating Systems reduced in size  and sophistication to fit a 10-week course.  Detailed analyses of the requirements of the project, e.g., File System, are performed by the student before implementing them.
 

Solution Design

Please describe the analysis experiences common to all course sections.

The projects are about a component of Operating Systems reduced in size and sophistication to fit a 10-week course.  Skeletal solutions of the project, e.g., File System, are given by the instructor at the conceptual level in the lectures, and also in source code files.  The student needs to design further details and implement them.

Desired Outcomes

List the desired outcomes (not objectives) in this subsection. Note how each item starts with a verb, and is clearly testable. Bad words to use in an outcome: know... learn... appreciate... understand.... Good words are: calculate, estimate, solve, derive, describe, compare, sketch, explain, paraphrase, identify, choose, list, predict, plan, order, outline, construct, design...

The student should be able to:

  1. Develop, test and debug programs in Unix.
  2. Invoke system calls and library calls effectively
  3. Improve the performance of programs by tuning virtual memory usage, and file io.
  4. Design and build newer file systems for newer storage devices on any OS.

Outcome Measures and Assessment

Explain how the desired outcomes are "measured" and assessed in this subsection.  In our College, we adopted the Entry/Exit surveys as the default (self-) assessment instrument.   You are welcome to use other methods.  E.g., some of you have substituted the entrance survey with a quiz. 

Student progress in achieving the desired objectives and outcomes for this course will be monitored and measured through use of entrance and exit surveys, programming assignments, homework, quizzes, examinations, and success in the courses that use CEG 433 as a prerequisite.

There is a self-assessment conducted at the beginning and another at the end of the term.

This should be end of page 3.  Page 1 and 2 constitute the ABET EAC syllabus.  Pages 1, 2, and 3 constitute the ABET CAC syllabus. The next few pages are for "Internal Use" by WSU CSE department in generating further documentation.  


The short version above is what is needed.  The long version below is for illustration only. We (WSU CECS) split Criterion 3a into a1, a2 and a3.  We split Criterion 3b into b1, and b2.   Every course description should contain the following table appropriately filled out.  P = "present", X = emphasized, is an explicit objective/ outcome, XX = double the previous.

Table of Criteria 3: Students who have successfully completed the course have

a1 an ability to apply knowledge of mathematics P
a2 an ability to apply knowledge of science 0
a3 an ability to apply knowledge of engineering PXX
b1 an ability to design and conduct experiments PXX
b2 an ability to analyze and interpret data PXX
c an ability to design a system, component, or process to meet desired needs PXX
d an ability to function on multi-disciplinary teams 0
e an ability to identify, formulate, and solve engineering problems PX
f an understanding of professional and ethical responsibility 0
g an ability to communicate effectively P
h the broad education necessary to understand the impact of engineering solutions in a global and societal context PX
i a recognition of the need for, and an ability to engage in life-long learning PX
j a knowledge of contemporary issues PX
k an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice PXX

 

Supporting Statements

For every entry, other than zero, please write a supporting statement.

A1: The directory structure in file systems is a tree. The addition of soft-links makes them arbitrary directed graphs. Traversals of these structures is assumed.

A3: The engineering product development life cycle of requirements, specifications, design and construction occurs in the OS projects. Also, trade-offs in simplicity of design versus achieved functionality are considered.

B: The quality of memory management algorithms is evaluated via experiments.

C: This is a project driven course.

E: Because of an understanding of the internals of an OS, better computer solutions can be formulated.

G: There is a short written report describing the design and testing aspects of the project.

H: The development of user interfaces, and permissions to various computer resources is presented in the societal context.

I: The student realizes that in his/her life-time he will need to work with many OS, that there will not always be courses to take, that he should engage in life-long learning.

J: The student learns about contemporary issues such as the open source movement, and the anti-trust case of Microsoft.

K: Modern program development tools are used in the project, and Internet based discussions (news:wright.cs.433 ) help the student receive prompt answers from other students and the instructor.


Department of Computer Science and Engineering
Wright State University

CEG 433 Operating Systems

Assessment of Prerequisites
Entrance Survey

Spring 2005, Section 01. Your Name (optional): __________________________________

The following survey is being conducted at the entrance, during the first/second week of classes. Results from the collected data are used to improve how our courses are conducted. Please complete as well as you can. Please feel free to attach in a separate sheet any comments that you may have.

This course depends on material taught in the prerequisite courses listed. We would like to learn if you have the background that we expect for this course as shown in the prerequisites listed by topic in Table 2. Please give us the instructor's name so that we may give him/her this feedback.

Table 1: Prerequisites by Courses

Course Number Taken at Term/Year Instructor's Name Grade
CEG 320        
CS 400        

Please assess how well you were prepared by assigning to yourself a letter grade (A, B, C, D, or F) to each of the prerequisite topics listed.

Table 2: Prerequisites by Topic

Prerequisite Topic Grade
Programming experience in C/C++  
Data structures: arrays, stacks, queues, lists, binary trees.  
Program development tools: editors, compilers, linkers, debuggers on some OS  
Familiarity with the Unix: Edit, read/send mail/news, use the shell, X11  
Computer Architecture: Interrupts, IO device interfaces  

Computer Architecture: Kernel/User modes, Hardware Protection

 

 


Department of Computer Science and Engineering
Wright State University

CEG 433 Operating Systems

Assessment of Learning Objectives and Desired Outcomes
Exit Survey

Spring 2005, Section 01. Your Name (optional): __________________________________


The following survey is being conducted during the final week of classes. Results from the collected data are used to improve our courses.  Please feel free to attach a separate sheet of comments.

Table 1: Learning Objectives  This course has the learning objectives listed below. In your opinion, how well did the course accomplish its objectives? Please fill in a letter grade (A, B, C, D, or F).

Understand internal structure of hierarchical file systems

 

Understand Memory Allocation, and Virtual Memory Usage

 
Understand design issues in developing larger and complex programs  
Understand the interactions between applications and the hardware  

Table 2: Desired Outcomes  This course has the following desired outcomes. In your opinion, how well did the course accomplish these? Please fill in a letter grade (A, B, C, D, or F).

Develop, test and debug programs in Unix.  
Able to use system calls and library calls effectively  
Improve the performance of programs by tuning memory usage, and file io.  
Design and build newer file systems for newer storage devices.