Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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.