CSC 4304: Systems Programming

Similar documents
School of Computing and Information Sciences. Course Title: Computer Programming III Date: April 9, 2014

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

OPERATING SYSTEM SERVICES

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

ELEC 377. Operating Systems. Week 1 Class 3

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Chapter 2: OS Overview

Division of Mathematical Sciences

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

DIABLO VALLEY COLLEGE CATALOG

Chapter 6, The Operating System Machine Level

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

Course Descriptions. CS 101 Intro to Computer Science

Course Descriptions. preparation.

Red Hat Linux Internals

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Real Time Programming: Concepts

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Computer Science Course Descriptions Page 1

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS


Internet Protocol Address

Department of Computer Science

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

CTE214 Operating Systems Syllabus

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Operating System Structures

Weighted Total Mark. Weighted Exam Mark

How To Get A Computer Science Degree At Appalachian State

COLLEGE OF INFORMATION TECHNOLOGY

What s my End Result?

REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf])

Part I Courses Syllabus

C Programming Review & Productivity Tools

Operating System Software

Department of Computer Science

FAME Operating Systems

Using Power to Improve C Programming Education

Chapter 2 System Structures

Department of Computer Science

Operating System Tutorial

System Structures. Services Interface Structure

Monitoring, Tracing, Debugging (Under Construction)

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

PRODUCTIVITY ESTIMATION OF UNIX OPERATING SYSTEM

CSC 2405: Computer Systems II

Introduction to Programming System Design. CSCI 455x (4 Units)

Process Description and Control william stallings, maurizio pizzonia - sistemi operativi

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

Operating Systems and Networks

CSET 4750 Computer Networks and Data Communications (4 semester credit hours) CSET Required IT Required

CALIFORNIA STATE UNIVERSITY CHANNEL ISLANDS COURSE MODIFICATION PROPOSAL

Chapter 10 Case Study 1: LINUX

Chapter 11 I/O Management and Disk Scheduling

April 5, Dr. Scott Wills Chair, Institute Undergraduate Curriculum Committee ECE 0250

COURSE TITLE COURSE DESCRIPTION

FLORIDA STATE COLLEGE AT JACKSONVILLE COLLEGE CREDIT COURSE OUTLINE. Introduction to Programming with Visual Basic.NET

Chapter 3 Operating-System Structures

Prefix COMP Course# 429 Title Computer Networks Units (3) 3 hours lecture per week 3 hours lecture per week

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

Distributed File Systems

Distributed Operating Systems

Web Server Architectures

CS161: Operating Systems

OPERATING SYSTEMS Internais and Design Principles

CHAPTER 15: Operating Systems: An Overview

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Computer and Information Sciences

BIOLOGY. Academic Regulation A grade of C- is the minimal grade acceptable for progression in the CMPS 221, 222, and 223 sequence.

Current requirements for a major (page 83 of current catalog)

Gildart Haase School of Computer Sciences and Engineering

How To Get A Computer Science Degree

OKLAHOMA SUBJECT AREA TESTS (OSAT )

CS420: Operating Systems OS Services & System Calls

Multi-GPU Load Balancing for Simulation and Rendering

M.S. Computer Science Program

Operating System Components

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

serious tools for serious apps

1 Organization of Operating Systems

Log files management. Katarzyna KAPUSTA

Using Web-based Tools to Enhance Student Learning and Practice in Data Structures Course

Example of Standard API

PG DAC. Syllabus. Content. Eligibility Criteria

Computer Science. Requirements for the Major (updated 11/13/03)

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

Transcription:

Course Outcomes CSC 4304 Credit Hours: 3 hours Prerequisites: CSC 4103 CSC 4304: Systems Programming Prerequisites By Topic: Basic programming knowledge in C/C++. Basic constructs of programming: e.g. data types, control structures, modular design and implementation, and algorithm design techniques. Computer Science concepts: e.g. operating systems, file and I/O structures, networking, memory structures, processes and threads. Catalog Course Description: Batch process system programs, their components, operating characteristics, user services and limitations; implementation techniques for parallel, distributed and concurrent processing; interrupt handling; addressing techniques, file system design and management, system accounting, and other user related services; traffic control, interprocess communication, remote procedure calls, design of system modules, and interfaces; system updating, documentation, and operation. Course Outcomes 1. Master in using the C/C++ programming language, its constructs and grammar, to create system software. 2. Master in the usage of makefiles, linking, object files, loading, symbol resolution, shared and static libraries, debugging, and execution of system programs. 3. Be familiar with basic UNIX OS concepts such as: process, program, process groups, signals, running programs, process control, address space, user and kernel modes, system calls, and context switching. 4. Master in file I/O (i.e. open, close, read, write, seek) 5. Be familiar with using sockets to implement client server environment. 6. Be familiar with using thread execution models (e.g. Posix threads). 7. Be familiar to handle signals and exceptions within a process and to control processes. 8. Be familiar with different approaches of concurrent programming. 9. Be familiar with different batch processing systems. 10. Be familiar with remote execution techniques. Texts and Other Course Materials

1. Computer Systems: A Programmer s Perspective, by Bryant and O Hallaron. Prentice Hall. 2002. 2. The C Programming Language. By Kernighan and Ritchie. Prentice Hall. Latest Edition. References: 1. Advanced Programming in the UNIX Environment, by Richard Stevens. Addison Wesley Press, 1992, ISBN 0-201-56317-7. 2. UNIX SYSTEMS Programming: Communication, Concurrency and Threads by Kay A. Robbins and Steven Robbins, Prentice Hall ISBN 0 13 042411 0 Major Topics Describe the process of writing system software from code writing to compilation and linking, Brief introduction to the language C, Exceptions, interrupts, and systems calls, Processes and process control, Inter process communication Signal and interrupt handling Remote procedure calls Impact of pipeling on program performance, File I/O and system calls, Performance measurement and improvement including discussion of parallel architectures, Structure and usage of storage technologies including the memory hierarchy, Reading and writing floating point numbers, Multi precision arithmetic, Caches and ways to improve cache performance, Virtual memory, Memory allocation, protection, and garbage collection, The client server programming model and its application to networks and the global IP Internet, OS timing facilities, Optimizing of C programs using analysis of the generated machine code, Threads and concurrent programming Batch processing systems Distributed computing Assignments/Projects/Laboratory Projects/Homeworks Implementation of client/server model Implementation of multi threaded processes Implementation of remote procedure calls

Implementation of inter process communication, signal and interrupt handling Implementation of file I/O optimization Usage of batch processing systems and distributed computing Debugging complex applications

Curriculum Category Content (estimated in semester hours) Area Core Advanced Area Core Advanced Data Structures Algorithms 8 5 10 Software Design 5 Prog. Languages 5 10 Computer Architecture 2 Mathematical fundamentals Relationship to Criterion 3 Outcomes A B C D E F G H I J K * * * * * * * * * Math and Fundamentals Data Structures Stacks, queues, linked list, searching, sorting, tree structures, graphs (10 hours) Algorithms and Software Algorithm analysis Parallel algorithm design, concurrency, search and sort algorithms, threads, multiprocessing, distributed computing, memory allocation, garbage collection, file I/O system calls, signal interrupt handling, remote procedure calls, interprocess communication, pipelining, debugging, performance evaluation, caching, batch processing (18 hours) Software Design design and implement system software, guidelines for larger software systems development (5 hours) Computer Organization and Architecture: Overview of basic computer organization and basic computer architecture structures (2 hours) Concepts of Programming Languages Master C or C++ programming using the concepts of address pointers, list structures, tree structures, memory management, thread programming, network programming, introduction to programming with sockets, client server programming, file systems and I/O interfaces, UNIX shell (ex. Bash) programming, scripting, basics of UNIX system administration, (15 hours) Social and Ethical Issues:

Oral Communication (presentations) Written Communication: Course Coordinator: Dr. Tevfik Kosar Last Modified: May 16, 2007