Course Description - Oman College of Management & Technology

advertisement
Oman College of Management &Technology
Department of Computer Science
Baraka, Oman
Tel. (968) 26893366
Fax (968) 26893068
503205(Systems Programming)
Course Code: 503205
Course Name: System Programming
Semester / Session: First 2014/2015
Credit Hours: 3 Hrs
Course Prerequisites: Programming in Selected Language
Class sections and Lecturers:
Section 1: 12:30 – 13:30 Sun, Tue, Thru 231
Loay AlNeamy
Instructors Office Hours:
Email:
Office Location:
Office Hours:
Website:
Loay.alneimy@omancollege.edu.om
225
Sun, Tue, Thu 10:30-11:30, 13:30-14:30
Mon, Wed 10:00 – 11:30
www.omancollege.edu.om/loay
Course Description
This course is one of the core courses for students in Computer Science degree program. The topics that will
discuss are System Software and Machine Structure, Basic Assembler Functions, Basic Loader Functions, Basic
Macro Processor Functions, Basic Compiler Functions and Basic Operating System Functions.
Course objectives
Understanding of how the Assembler works, how to generate the object code for an assembly program, different
addressing mode, linker and Loader, an Introduction to Compiler & Operating system.
Learning Outcomes
After completing this course the student should be able to:
(1) Understand computer systems, especially low-level influences on high-level goals. This includes the
machine-level representation of programs and data structures; the memory hierarchy and its impact on
performance; access to stored information via file systems, and access to other computer systems via networks.
(2) Understand existing system software and software standards, especially the UNIX toolset. This includes
preparing a program (editors, static analysis, development environments); running a program (compilers and
interpreters, assembler, linker, loader, debugger, profiler, tracer); controlling parts of a program (memory
management, threads); communication between programs (within one system using signals, between systems
using sockets and communication protocols); and combinations of software tools with scripting languages.
(3) Understand "real code", such as selections from the Linux operating system kernel and GNU utilities and
libraries, and through comparative selections from Solaris, Linux, and Mac OS X.
(4) Understand system performance, including experiments on program performance and optimization
techniques.
Teaching Methods
The course will be based on the following teaching and learning activities:
 Power point presentations that covers the theoretical part
 Review questions
 Lab sessions
Course Plan
1. Background (chapter 1)
 Introduction.
 System Software and Machine Structure.
 The Simplified Instructional Computer (SIC).
 Traditional (CISC) Architectures.
 RISC Architectures
2. Assemblers (chapter 2):
 Basic Assembler Functions.
 Machine-Dependent Assembler Features.
 Machine-Independent Assembler Features.
 Assembler Design Options.
 Implementation Examples.
3. Loaders and Linkers (chapter 3):
 Basic Loader Functions.
 Machine-Dependent Loader Features.
 Machine-Independent Loader Features.
 Loader Design Options.
 Implementation Examples.
4. Macro Processors (chapter 4):
 Basic Macro Processor Functions.
 Machine-Independent Macro Processor Features.
 Macro Processor Design Options.
 Implementation Examples.
5. Compilers (chapter 5):
 Basic Compiler Functions.
6. Operating Systems (chapter 6):
 Basic Operating System Functions.
Course Time Table:
Week
1
2
Subjects
System Software and Machine Structure.
The Simplified Instructional Computer (SIC).
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Traditional (CISC) Architectures.
RISC Architectures
Basic Assembler Functions.
Machine-Dependent Assembler Features. (First Exam)
Machine-Independent Assembler Features.
Assembler Design Options.
Basic Loader Functions.
Loader Design Options.
Basic Macro Processor Functions. (Second exam)
Machine-Independent Macro Processor Features.
Macro Processor Design Options.
Basic Compiler Functions.
Basic Operating System Functions
Final Exam
Evaluation Plan
Modes Of Assessment
First Exam
Second Exam
Assignments
Final Exam
Score
20%
20%
10%
50%
* Makeup exams will be offered for valid reasons only. Makeup exams may be different from regular exams in content and
format.
Attendance Policy
Lecture attendance is mandatory. Students are allowed maximally of 15% absentia of the total module
hours.
Teaching Resources
Main Textbook : System
Programming Software, An Introduction to System
programming , 3 . edition ,Addison Wesley 2009.
rd
Systems Engineering and Analysis (3rd Edition) by Benjamin
S. Blanchard, Wolter J. Fabrycky.
Recommended Books:
Download