Course: CMPE 220

Course Title: Systems Software

Semester: Fall 2009

 

 

Instructor Information and Course Description

 

Instructor: Weider D. Yu,  Office: Engr 283G, Weider.Yu@sjsu.edu, (408) 924-7365

Web page: http://www.engr.sjsu.edu/~wdyu

 

 

Course Meeting Place/Time:  

                         ENG 331, 18:00 – 20:45 Tuesday

 

   

      

Office Hours:             Tuesday:             14:30 – 17:00            

                                    Wednesday:       14:30 – 17:00            

 

 

Course Catalog Description

 

System software overview, assemblers, macro processors, loaders and linkers, compilers, operating systems, and embedded system software. Design system software projects.

 

 

Prerequisites:

o       It is required that the student has a good understanding of the underlying concepts of computer architecture. Some programming experiences, such as C programming language, and the knowledge in algorithms, data structures and operating systems are also needed.

o       CMPE 142.

 

 

Textbook:       Systems Software (3rd edition), by Leland L. Beck, Addison Wesley, 1997

 

References:   Compilers: Principles, Techniques, and Tools, 2 edition,, by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, Addison-Wesley, Reading, Mass, 2006.

 

Course Conduct:

There is one lecture period of two hours and 45 minutes each week. Reading assignments will be made and should be completed prior to the corresponding lecture. Homework will be given. There are two exams: midterm and final exam. There is one team project.

 

Testing:

Exams and Homework:

·        Homework                                    10%

·        Special Topic Report                      15%

·        Midterm                                         25%     [10/06/09]

·        Final Exam                                     30%     [12/15/09]

 

      Class Project:

      Different projects will be presented to the class. The team will select one project.

·        Project                                           20%

 

 

 

Course Learning Objectives

 

At the end of the course, the student will

 

1.      Be able to learn the concepts and methods in designing various types of system software. System software consists of software programs that support the operations of a computer. A variety of system software programs (listed in the course description) are to be covered in the course.

2.      Be able to learn the relationships between machine architecture and system software.

3.      Be able to learn practical hands-on experience in designing and implementing some selected types of system software in a course team oriented project.

4.      Be able to learn software engineering concepts and related issues in designing and implementing software projects. The concepts are applied in a team oriented course project.

 

 

 

 

Course Relationship to Program Educational Objectives

 

 

Program Educational Objectives

Course Learning Objectives

Provide a broadly based curriculum consisting of:

  • Computer Engineering fundamentals, both hardware and Software, that provide a basis for professional competence and life-long learning and
  • Elective courses that provide contemporary professional skills as required by an ever-changing industry.

Be able to learn the concepts and methods in designing various types of system software. System software consists of software programs that support the operations of a computer. A variety of system software programs (listed in the course description) are to be covered in the course. (1)

 

Be able to learn the relationships between machine architecture and system software. (2)

Prepare students for entry level professional engineering,

As well as continuing studies in engineering or other professional areas.

Be able to learn the relationships between machine architecture and system software. (2)

Be able to learn practical hands-on experience in designing and implementing some selected types of system software in a course team oriented project. (3)

Provide a practice-oriented, hands-on curriculum that prepares students to apply theoretical concepts to real world problems.

Be able to learn practical hands-on experience in designing and implementing some selected types of system software in a course team oriented project. (3)

 

Provide students with the problem solving and communication skills required to be successful and advance in their careers.

Be able to learn software engineering concepts and related issues in designing and implementing software projects. The concepts are applied in a team oriented course project. (4)

Provide opportunities for students to learn and practice leadership and teamwork skills in a multidisciplinary environment.

Be able to learn software engineering concepts and related issues in designing and implementing software projects. The concepts are applied in a team oriented course project. (4)

 

 

 

Course Topics

 

 

Week

Date

Lecture Topic(s)

Readings

1

Aug. 25

Introduction, System Software and Application Software, Simplified Instructional Computer (SIC) and SIC/XE Machine Architecture

Chapter 1

2

Sep. 1

Assembler Functions, Machine Dependent and Independent Assembler Features

Chapter 2

3

Sep. 8

Assembler Design Options

Chapter 2

4

Sep. 15

Loader Functions, Machine-Dependent and –Independent Features and Design Options

Chapter 3

5

Sep. 29

Linker Functions, Machine-dependent and –independent Features and Design Options

Chapter 3

6

Oct. 6

Macro Processor Functions, Machine-Independent Features and Design Options

Chapter 4

7

Oct. 13

Midterm Exam

Review

8

Oct. 20

Compiler Functions

Chapter 5

9

Oct. 27

Machine Dependent Compiler Features

Chapter 5

10

Nov. 3

Machine-Independent Compiler Features, Compiler Design Options

Chapter 5

11

Nov. 10

Basic Operating System Functions

Chapter 6

12

Nov. 17

Machine-Dependent and –Independent Operating System Features

Chapter 6

13

Nov. 24

Operating System Design Options

Chapter 6

14

Dec. 1

Embedded Software System, Project Review

Lecture Notes

15

Dec. 8

Project/Individual Topic Review

Project Documents

16

Dec. 15

Final Exam

 

 

Policy on Course Grading:

·        The following table shows our basic grading scheme (approved by the 01-22-2008 department faculty meeting). However, each grade category may have a plus/minus 5-10 % delta, based on the actual student performance in the class.

 

Grade

Percentage

A+ or A or A-

40 %

B+ or B or B-

50 %

C+ or C or C-

5-10 %

D or F

Up to 2 %

 

 

Homework Assignments:

Assignments are together worth about 10 percent of the course grade. Late homework will be accepted but will be marked down 50%. The due dates for the assignments will be given during the class.

 

Special Topic Report:

Each project team will choose a special topic in the context of systems software and perform an in-depth study and investigation. The report (15-20 pages) includes analysis, findings, insights and suggestions of improvement to the problems/issues identified. The report is worth 15 percent of the course grade. The due date will be given during the class.

            Topical Report Format

 

A list of areas for special topic reports is provided below. Each special topic team (1-2 persons) should select a specific topic in the area chosen and start to collect related source information and to explore potential problems/issues. Each special topic team needs to turn in team member information and a specific topic to the instructor by September 29.

            Topical Areas

 

Project:
The project will have frequent checkpoints along the way for which you will have to turn in status reports, preliminary designs, and the like. The project will be worth about 20 percent of the course grade. The project specification will be distributed during the class. The project work is due on December 8.

            Project Descriptions and Requirements

               

Project Schedule:
There is a project presentation. No makeup presentation will be given, unless the case is critical. For the exceptional cases, documented reasons (e.g. physician’s statement) are required.

 

·        Project Milestone I                                                       09/15/09

·        Project Milestone II                                                      10/20/09

·        Final Project Review                                                     12/01/09 & 12/08/09

 

Policy on Plagiarism/Cheating:

·        A student or students involved in a cheating incident involving any non-exam instrument (homework, report, or lab project) will receive an F on that instrument, and will be reported to the judicial affairs office.  Whether the report will carry a recommendation for disciplinary action will be left to my judgment.

·        A student or students involved in a cheating incident on any quick test, the midterm exam or the final exam will receive an F in the course, and will be reported to the judicial affairs office with a recommendation for disciplinary action.

 

I will personally notify you of any such findings or actions.  All such reports will also be brought to the attention of the computer engineering department office.  You have certain rights of appeal, which may serve to exonerate you. (see http://www2.sjsu.edu/senate/S04-12.pdf)

 

Right to Privacy: 

You will retain a right to privacy.  I will not knowingly reveal your grades, student ID number, phone number, address or other private information to others, except within the limits of university policy.  I will ask that you supply your first name, last name and last four digits of your SID on written homework or tests. 

 

Students with Disabilities:

Students with disabilities who would need some kind of accommodation should make that known to the instructor:

"If you need course adaptations or accommodations because of a disability, or if you have emergency medical information to share with me, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours."

 

Note: The course syllabus of Fall 2009 may need to be changed during the semester to fit for the university special furlough schedule implementation.