Download CS 355: Introduction to Systems Programming

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Burroughs MCP wikipedia , lookup

Unix time wikipedia , lookup

RSTS/E wikipedia , lookup

CP/M wikipedia , lookup

DNIX wikipedia , lookup

Distributed operating system wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Berkeley Software Distribution wikipedia , lookup

Unix wikipedia , lookup

Spring (operating system) wikipedia , lookup

Unix security wikipedia , lookup

Transcript
CS 355: Introduction to Systems Programming
1.
Course number and name: CS 355: Introduction to Systems Programming
2.
Credits and contact hours: 3.000 Credit Hours, 3.000 Lecture hours
3.
Instructor or course coordinator: Stan Kurkovsky
4.
Text book, title, author, and year: Understanding Unix/Linux Programming: A Guide to
Theory and Practice, by Bruce Molay. Prentice Hall, 2003, ISBN 0130083968
a. other supplemental materials
o Course syllabus and lecture notes are available on line at:
http://www.cs.ccsu.edu/~stan/
5.
Specific course information
a. brief description of the content of the course (Catalog Description):
Introduction to the design of systems software. Topics include comparative machine
organizations, the design of assemblers and loaders, an introduction to operating systems
and an introduction to compiler design.
b. prerequisites or co-requisites: CS 153 and CS 254
c. indicate whether a required, elective, or selected elective course in the program: Required
6.
Specific goals for the course
a. specific outcomes of instruction, ex. The student will be able to explain the significance
of current research about a particular topic.
Program objectives and outcomes are supported by the following learning outcomes
achieved by students upon a successful completion of this course:
 Understand the role of systems programming;
 Have hands-on knowledge of the basic principles of Unix system calls;
 Have hands-on knowledge of the basic principles of Unix file system;
 Have hands-on knowledge of the basic principles of Unix IO system;
 Design and implement system-level applications for open-source operating
systems.
b. explicitly indicate which of the student outcomes listed in Criterion 3 or any other
outcomes are addressed by the course.
The course outcomes will allow students taking CS 355 to make progress toward the
following department outcomes:






7.
Brief list of topics covered







8.
Outcome (a): An ability to apply knowledge of computing and mathematics
appropriate to the discipline.
Outcome (b): An ability to analyze a problem, and identify and define the
computing requirements appropriate to its solution.
Outcome (c): An ability to design, implement, and evaluate a computer-based
system, process, component, or program to meet desired needs.
Outcome (i): An ability to use current techniques, skills, and tools necessary for
computing practice.
Outcome (j): An ability to apply mathematical foundations, algorithmic
principles, and computer science theory in the modeling and design of computerbased systems in a way that demonstrates comprehension of the tradeoffs
involved in design choices.
Outcome (k): An ability to apply design and development principles in the
construction of software systems of varying complexity.
Users and files
Directories and file properties
File systems
Connection control
Terminal control and signals
Event-driven programming
Processes and programs
Expected Performance Criteria
Student understanding of systems programming principles will be demonstrated by their
performance on a midterm test a final exam. Their ability to apply these principles in
practice will be demonstrated by completing several small lab assignments and larger
projects that requires designing and implementing several system-level programs
operating in UNIX environment.