csce4413-os-abet-workbook-spring06-060501 - Computer ...

wackybabiesΛογισμικό & κατασκευή λογ/κού

14 Δεκ 2013 (πριν από 3 χρόνια και 10 μήνες)

97 εμφανίσεις


1

CSCE 4413


Operating Systems



3 credits


Spring 2006

Course Description

General Information



Dept./Number/Title/Credits:

CSCE 4413


Operating Systems


3 hours



Semester:

Spring 2006



Course Coordinator:


Dale R. Thompson Spring 2006



Time/Location:


MWF 8:30


9
:20

a.m.
in ENGR 307

Current
Catalog Description



CSCE 4413 Operatin
g

Systems


3 credits


An introduction to operating systems
including topics in system structures, process management, storage management, files,
distributed systems, and case

studies. Prerequisite: C
ENG

3213 and CSCE 2143.

Textbook



Required Text:


Silberschatz, Galvin, and Gagne
,
Operating System Concepts
, Wiley,
Seventh edition

Course Goals/Objectives


for more detail, see Course Outcomes section below

Upon the successful c
ompletion of this course a student should understand:



Outcome 1



Operating systems structure and operations.



Outcome 2



Concepts of process management, memory management, direct access
storage management, resource allocation, and time management.



Outcome

3



Process synchronization, mutual exclusion, and deadlocks.



Outcome 4



Virtual memory structure and implementation.



Outcome 5



File access methods and allocation.



Outcome 6



Operating system and application protection and security.



Outcome 7



Real
-
t
ime systems.

Prerequisites by Topic



C
ENG

3213

Computer Organization (computer organization and architecture)



CSCE 2143
Data Structures (linked lists)

Major Topics Covered in this Course (# of 50 minute sessions)



Major operating system components

(Ch. 1)




2 hours



Structure of an OS

(Ch. 2)






2 hours



Processes states

(Ch. 3)






1 hour


2

o

Process control block

o

Process scheduling

o

Context switch



Interprocess communication

(Ch. 3)





1 hour

o

shared memory

o


message passing



Communication in client
-
server syste
ms (Ch. 3)



1 hour

o

Sockets

o

Remote procedure call

o

Remote method invocation



Threads (Ch. 4)







3

hours

o

Multithreading models

o

Pthread library

o

Java threads

o

fork() and exec()

o

signal handling

o

thread pools

o

lightweight process

o

Windows and Linux threads



CPU sch
eduling (Ch. 5)






4 hours

o

CPU
-
I/O burst cycle

o

Nonpreemptive and preemptive scheduling

o

Scheduling criteria

o

Scheduling algorithms



First
-
come, first
-
served



Shortest
-
job
-
first



Shortest
-
remaining
-
time
-
first



Priority



Round
-
robin



Multilevel queue



Multilevel fe
edback
-
queue

o

Multiprocessor scheduling


3



Processor affinity



Load balancing



Symmetric multithreading

o

Thread scheduling

o

Solaris, Windows, and Linux scheduling

o

Scheduling algorithm evaluation



Deterministic modeling



Queueing models (Little’s formula)



Simulations



Process synchronization (Ch. 6)





5 hours

o

Critical
-
section problem

o

Mutual exclusion, progress, and bounded waiting

o

Peterson’s solution

o

Synchronization hardware



locks



TestAndSet()



Swap()

o

Semaphores

o

Busy waiting (spinlocks)

o

Deadlocks and starvation

o

Classi
c synchronization problems



Bounded
-
buffer problem



Readers
-
Writers problem



Dining
-
Philosopher problem

o

Monitors

o

Synchronization in Solaris, Linux, and Pthreads

o

Atomic Transactions



Log
-
based recovery



Checkpoints



Concurrent atomic transactions



Serializability



Locking protocol


4



Timestamp
-
based protocols



Deadlocks (Ch. 7)







3 hours

o

Necessary conditions



Mutual exclusion



Hold and wait



No preemption



Circular wait

o

Resource
-
allocation graph

o

Deadlock prevention

o

Deadlock avoidance



Safe state



Resource
-
allocation graph

algorithm



Banker’s algorithm

o

Deadlock detection

o

Deadlock recovery



Main memory (Ch. 8)







2 hours

o

Logical vs physical address space

o

Dynamic loading

o

Dynamic linking and shared libraries

o

Swapping

o

Contiguous memory allocation



Mapping and protection



Allocat
ion



External fragmentation

o

Paging

memory allocation



Internal fragmentation



Translation look
-
aside buffer (TLB)



Effective memory
-
access time



Hierarchical, hashed, and inverted

o

Segmentation memory allocation

o

Pentium and Linux paging and segmentation



Virtual
memory (Ch. 9)






2 hours


5

o

Demand paging

o

Effective access time

o

Copy
-
on
-
write

o

Page replacement



FIFO



Optimal



Least
-
recently
-
used

o

Allocation of frames



Equal



Proportional



Global vs local

o

Thrashing



Working
-
set model



Page
-
fault frequency

o

Memory
-
mapped files

o

Oth
er considerations



Prepaging



Page size



TLB reach



Inverted page tables



Program structure



I/O interlock



File
-
system interface (Ch. 10)






1 hour



File
-
system implementation (Ch. 11)





1 hour

o

File
-
control block

o

Directory



Linear list



Hash table

o

Allocation m
ethods



Contiguous



Linked (clusters, file
-
allocation table)



Indexed


6

o

Network file system (NFS)



Mass
-
storage structure (Ch. 12)





1 hour

o

Magnetic disks

o

Host
-
attached storage

o

Network
-
attached storage (NAS)

o

Storage
-
area network (SAN)

o

Disk scheduling



FCFS



SSTF



SCAN



C
-
SCAN



LOOK

o

Redundant arrays of inexpensive disks (RAID)



I/O Systems (Ch. 13)







1 hour

o

PC bus structure


Laboratory projects (specify number of weeks on each)



Students use fork() command to create child process. In Spring 2006, the students
calcu
lated the Fibonacci sequence using fork() in the child process. (0.5 weeks)



Students program a simple client/server. In Spring 2006, the students were given an echo
server and client to compile and run. Then they modified the server to increment an
integer

and return it to the client. The main problem was to convert the integer to binary.
(0.5 weeks)



Students are given a programming assignment on the concepts of process management
using a thread library. In Spring 2006, the programming assignment was to imp
lement
the producer
-
consumer problem of sharing a finite buffer. It was implemented using the
pthreads library in the Linux environment.

(1.5 weeks)

Estimate Curriculum Category Content (Semester hours)

Area

Core

Advanced

Algorithms

0.5


Software Design

1


Computer Architecture

1


Data Structures

0.5


Programming Languages






7

Oral and Written Communications

-

Every student is requ
ired to submit at least
0


written
reports (not including exams, tests, quizzes, or com
mented programs) of typically


0


pages
and to make

0


oral

presentations of typically

0


minute’s duration. Include only
material that is graded for grammar, spelling, style, and so forth, as well as for technical
content, completeness, and accuracy.

Social and Ethical I
ssues

-

Please list the topics that address the social and ethical
implications of computing covered in all course sections. Estimate the class time spent on
each topic. In what ways are the students in this course graded on their understanding of
thes
e topics (e.g., test questions, essays, oral presentations, and so forth)?



Reliability and protection are discussed throughout the course. In today’s environment,
protection, protecting the operating system from malicious activity is important.

Discuss
buf
fer overflows and techniques to protect the memory of processes.

Theoretical Content

-

Please list the types of theoretical material covered, and estimate the
time devoted to such coverage.



Describe the major differences between generic batch, interactiv
e, conversational,
network, real
-
time, and time
-
sharing operating systems.



Construct a process state diagram and explain how all of the state transitions (context
switches) take place.



Describe how the various interrupt handlers process interrupts and effe
ct state changes.



Describe the four necessary conditions for deadlock to occur.



Describe the similarities and differences of multiprogramming systems and
multiprocessing systems.

Problem Analysis

-

Please describe the analysis experiences common to all co
urse sections.



Calculate average wait time, turnover time, and throughput for processes using various
scheduling algorithms.



Use
Bankers Algorithm to determine safe resource allocation.



Evaluate paging algorithms for efficiency using page fault frequencies
.



Evaluate disk scheduling algorithms by calculating total seek times.

Solution Design

-

Please describe the design experiences common to all course sections.



Students are given a programming assignment on the concepts of process management
using a threa
d library. In Spring 2006, the programming assignment was to implement
the producer
-
consumer problem of sharing a finite buffer. It was implemented using the
pthreads library in the Linux environment. (1.5 weeks)



8

2.
Course display for the visit.

The co
urse outline for each required or elective computer
science course must also be included in a display of course materials that is available for study at
all times during the evaluation visit. The course material display must include at least the
following

for each course that can be counted in the computer science segment of the curriculum
being evaluated.



Course name and number, number of credits, meeting times, etc.



Textbook and other required material (e.g. manuals, reference booklets, standards and
d
ocuments)



Instructor’s name and contacts



Syllabus/schedule
(provide hardcopy and URL if only available on
-
line)



Introductory pages that include course objectives, pedagogical approach, assessment
methods (and how these relate to the program objectives if a
ppropriate)



Course policies



Introductory sheet that indicates course locations or sites that show evidence of writing,
presentations, ethics etc. as appropriate



Assignments and projects, tests, exams and important handouts



Student work (examples of graded
high/medium/low quality work as well as tests/exams
etc.)



Any feedback mechanisms/examples to students that might be on
-
line



Any substantive electronically posted communication, threaded discussion, or teamwork
etc.



Course evaluations (measures of success

that include, for example, the results of student
surveys and the achievements of students in current or subsequent courses)



Proposed or changes as a result of formative surveys

If a course is taught wholly on
-
line by a non
-
resident faculty member then da
ta about that faculty
member must be included in the Self
-
Study or provided in separate documents for credentialing
purposes. In addition, for wholly on
-
line courses or a complete degree program, the results of an
electronic CAC survey to that group of stu
dents regarding their experiences in the program
(comparative to the usual on
-
site class visit) should be made available to the visiting team.

If available, please provide the location of URL’s on a CAC
-
visit Website or site containing a set
of URL links t
hat would allow an evaluator to retrieve specific data directly (if not provided in
hardcopy) as indicated above. These should be available before the time of the visit.

Note: In addition to the display materials, it would be very helpful to the visiting

team if all
assessment documentation could be available in the same location as the display materials. It is
also very helpful if the display room contains computers with network connections.



See remainder of course workbook


9

Pedagogical Approach

The main

focus is the fundamental concepts and algorithms of modern operating systems not tied
to one particular operating system. The topics include system structures, process management,
storage management, files, distributed systems, and case studies
.

Course
Outcomes

Course outcomes are capabilities that you expect a student to be able to do upon successful
completion of this course.

A later matrix relates these to program outcomes.

Outcome 1


Operating systems structure and operations.

Upon the successful c
ompletion of this course
,

a student shou
ld understand and be able to:



Describe the major differences betw
een generic batch, interactive
, real
-
time, and time
-
sharing operating systems.



Construct a process state diagram and explain how all of the state trans
itions (context
switches) take place.



Describe how the various interrupt handlers process interrupts and effect state changes.

Outcome 2


Concepts of process management, memory management, direct access storage
management, resource allocation, and time ma
nagement.



Calcu
late average wait time, turnaround

time, and throughput for processes using various
scheduling algorithms.

Outcome 3


Process synchronization, mutual exclusion, and deadlocks.



Design and implement mutual exclusion routines that use software

o
nly, machine
instructions, and
semaphores.



Describe the four necessary conditions for deadlock to occur. Produce a directed
resource graph and use graph reduction to determine if deadlock exists
.



Use
Bankers Algorithm to determine safe resource allocati
on.

Outcome 4


Virtual memory structure and implementation.



Evaluate paging algorithms for efficiency using page fault frequencies.

Outcome 5


File access methods and allocation.



Evaluate disk scheduling algorithms by calculating total seek times.

Outcom
e 6


Operating system and application protection and security.



Compare the various protection and security measures used by major operating systems.

Outcome 7


Real
-
time systems.



Describe the similarities and differences of multiprogramming systems and
m
ultiprocessing systems.



10



Schedule

(
available at
http://csce.uark.edu/~drt/os/schedule.html
)

Schedule

Part 1: Overview

1.

Wed., 1/18

o

Introductions

o

Discuss website and give out password

o

Syllabus

o

Academic Dishonesty Policy

o

Inclement Weather Policy

o

Survey/Asse
ssment Test

o

Chapter 1 Introduction:
PPT
,
PDF 4 per page
,
PDF 1 per page

2.

Fri., 1/20

o

Chapter 2 Operating
-
System Structures :
PPT
,
PDF 4 per page
,
PDF 1 per page

Part 2: Process Management

3.

Mon., 1/23

o

Ch. 2 cont.

4.

Wed., 1/25

o

Ch. 2 cont.

5.

Fri., 1/27

o

Chapter 3 Processes:
PPT
,
PDF 4 per page
,
PDF 1 per page

o

Ch. 3 cont.

6.

Mon., 1/30

o

Ch. 3 cont.

o

fork() code
,
PDF

o

shared memory code
,
PDF

o

HW 1 assigned and due 2/6

7.

Wed., 2/1

o

Ch. 3 cont.

o

Client/Server socket programming



DateClient.java
,
PDF



DateServer.java
,
PDF

o

Chapter 4 Threads:
P
PT
,
PDF 2 per page
,
PDF 1 per page



thrd
-
posix.c
,
PDF



Driver.java
,
PDF

8.

Fri., 2/3

o

Ch. 4 cont.

9.

Mon., 2/6


11

o

HW 1 due

o

Chapter 5 CPU Scheduling:
PPT
,
PDF 2 per page
,
PDF 1 per page

10.

Wed., 2/8

o

Work HW 1

11.

Fri., 2/10

o

Ch. 5 cont.

12.

Mon., 2/13

o

HW 2 assigned and due 2/22

o

Ch. 5 cont.

13.

Wed., 2/15

o

Ch. 5 cont.

14.

Fri., 2/17

o

Ch. 5 cont.

15.

Mon., 2/20

o

HW 3 assigned and due 2/27

o

Ice, class dismissed, HW 2 due 2/22

16.

Wed., 2/22

o

HW 2 due

o

Ch. 5 cont.

17.

Fri., 2/24

o

Work HW 2

18.

Mon., 2/27

o

HW 3 due

o

Work HW 3

19.

Wed., 3/1

o

Finish working HW 3

o

Review for Test 1: topics:
PDF

20.

Fri., 3/3

o

Test 1, Chapters 1
-
5, closed

book, closed notes

21.

Mon., 3/6

o

Return and work Test 1

22.

Wed., 3/8

o

Chapter 6 Process Synchronization:
PPT
,
PDF 2 per page
,
PDF 1 per page

23.

Fri., 3/10

o

Ch. 6 cont

24.

Mon., 3/13

o

Ch. 6 cont

25.

Wed., 3/15

o

Ch. 6 cont

26.

Fri., 3/17

o

Ch. 6 cont

27.

Mon., 3/27

o

Chapter 7 Deadlocks:
PPT
,
PDF 2 per page
,
PDF 1 per page

o

HW 4 assigned and due 4/3

o

HW 5 (Programming) assigned and d
ue 4/7

28.

Wed., 3/29


12

o

Ch. 7 cont

29.

Fri., 3/31

o

Class cancelled. Work on programming assignment

30.

Mon., 4/3

o

HW4 due

o

Ch. 7 cont.

31.

Wed., 4/5

o

Return and work HW4

o

Begin Ch. 8?

32.

Fri., 4/7

o

HW5 due by e
-
mail at 11:59 P.M.

o

Guest speaker: Jeff F. Pummill, Senior Linux Clu
ster Administrator, administrator
of Arkansas Red Diamond Supercomputing Cluster (
info
)

Part 3: Memory Management

33.

Mon., 4/10

o

Chapter 8 Main Memory:
PPT
,
PDF 2 per page
,
PDF 1 per page

34.

Wed., 4/12

o

HW6 assigned

o

Ch. 8 cont.

35.

Fri., 4/14

o

Chapter 9 Virtual Memory
:
PPT
,
PDF 2 per page
,
PDF 1 per page

36.

Mon., 4/17

o

H
W6 due

o

Ch. 9 cont.

37.

Wed., 4/19

o

Review for Test 2

38.

Fri., 4/21

o

Test 2: Chapters 6
-
8

Part 4: Storage Management

39.

Mon., 4/24

o

Chapter 10 File
-
System Interface:
PPT
,

PDF 2 per page
,
PDF 1 per page

40.

Wed., 4/26

o

Work Test 2

41.

Fri., 4/28

o

Chapter 11 File System Implementation:
PPT
,
PDF 2 per page
,
PDF 1 per page

42.

Mon., 5/1

o

Chapter 12 Mass
-
Storage Systems:
PPT
,
PDF 2 per page
,
PDF 1 per page

o

Chapter 13 I/O Systems:
PPT
,
PDF 2 per page
,
PDF 1 per page

43.

Wed., 5/3

o

Review for

Test 3

o

Last day of class

44.

Frid., 5/5


13

o

Dead Day NO CLASS

45.

Mon., 5/8, 7:20 a.m. to 9:30 a.m.

o

Final Exam, Comprehensive (Chapters 1
-
13)

o

25% of grade

o

Closed book, closed notes

o

Bring calculator

o

50 multiple choice


Student Evaluation

Grading will be based on homew
ork, two exams, and a final exam. All graded work will receive
a percentage from 0 to 100%. The overall letter grade for the class will be based on the
percentage obtaining by combining all the components using the weights listed below.

Grading Breakdown:



Homework (35%)



Exam 1 (20%)



Exam 2 (20%)



Final Exam (25%)

The final class grade will be assigned according to the 10
-
point scale shown below. The grades
may or may not be curved.

Percentage Range

Grade

90.00


100


A

80.00


89.99


B

70.00


79.99


C

60.0
0


69.99


D

< 60.00


F


Course Policies

Class
Attendance:

You are responsible for all material covered in class. If you must miss a
class, it is your responsibility to get the notes, handouts, assignments, etc. from someone else in
class.
Attendance will
be taken.

Attendance will be used as a deciding factor when final
average is between grades. For example, if you have an average of 89.50 and you have attended
a high percentage of the classes it may be rounded up to an "A". If you have an average of 89.50

and you have attended a small percentage of the classes it will probably still be a "B".

Homework:

Homework will be assigned and graded. All assignments will be given with a strict
deadline, and students are required to submit their assignments on or befo
re the deadline. See the
Deadline Policy below.

Deadline Policy
:


All assignments will be given with a strict deadline, and students are required
to submit their assignments on or before the deadline.


Homework will be collected at the start of

14

the class o
n the due date, and
late submissions will not be accepted
.


In case of extenuating
circumstances, students are advised to contact the professor as soon as practical.


You are
encouraged to discuss the course and the assignments with each other; however, yo
ur exams and
ho
mework should be your own work.

Exams
:

Two in
-
class exams

will be given. It will be a closed book and closed note exam.

Final

Exam
:

A comprehensive final examination will be given. It is scheduled according to the
University calendar. It wil
l be a closed book and closed note exam and w
ill cover all course
material.

Academic Dishonesty:

Students who violate University standards of academic integrity are
subject to disciplinary sanctions, including failure in the course and suspension from the

University. Since dishonesty in any form harms the individual, other students and the University,
policies concerning academic dishonesty will be strictly enforced. I expect you will familiarize
yourself with the University's Academic Dishonesty Policy wh
ich may be found in your
undergraduate catalog
.


15

ACM Core Topic Mapping

List and refer to ACM/IEEE knowledge units covered (see
ACM/IEEE Computing Curriculum
2001 Computer Science Final Report
). Core topics are in bold.

45 contact hours

ACM Core Topics

Pr
ogram
Core Target

Operating

Systems

DS. Discrete Structures (43 core hours)



DS1. Functions, relations, and sets

6


DS2. Basic logic

10


DS3. Proof techniques

12


DS4. Basics of counting

5


DS5. Graphs and trees

4


DS6. Discrete probability

6


PF
. Programming Fundamentals (38 core hours)



PF1. Fundamental programming constructs

9


PF2. Algorithms and problem
-
solving

6


PF3. Fundamental data structures

14


PF4. Recursion

5


PF5. Event
-
driven programming

4

2

AL. Algorithms and Complexity (3
1 core hours)



AL1. Basic algorithmic analysis

4


AL2. Algorithmic strategies

6


AL3. Fundamental computing algorithms

12


AL4. Distributed algorithms

3


AL5. Basic computability

6


AL6. The complexity classes P and NP

-


AL7. Automata theory

-


A
L8. Advanced algorithmic analysis

-


AL9. Cryptographic algorithms

-


AL10. Geometric algorithms

-


AL11. Parallel algorithms

-


AR. Architecture and Organization (36 core hours)



AR1. Digital logic and digital systems

6


AR2. Machine level repres
entation of data

3


AR3. Assembly level machine organization

9


AR4. Memory system organization and architecture

5


AR5. Interfacing and communication

3


AR6. Functional organization

7


AR7. Multiprocessing and alternative architectures

3

2

AR8. Perf
ormance enhancements

-


AR9. Architecture for networks and distributed systems

-


OS. Operating Systems (18 core hours)



OS1. Overview of operating systems

2

2

OS2. Operating system principles

2

3

OS3. Concurrency

6

6

OS4. Scheduling and dispatch

3

6


16

OS5. Memory management

5

6

OS6. Device management

-

3

OS7. Security and protection

-

2

OS8. File systems

-

4

OS9. Real
-
time and embedded systems

-

2

OS10. Fault tolerance

-


OS11. System performance evaluation

-

2

OS12. Scripting

-


NC. Net
-
Cen
tric Computing (15 core hours)



NC1. Introduction to net
-
centric computing

2


NC2. Communication and networking

7


NC3. Network security

3


NC4. The web as an example of client
-
server computing

3


NC5. Building web applications

-


NC6. Network mana
gement

-


NC7. Compression and decompression

-


NC8. Multimedia data technologies

-


NC9. Wireless and mobile computing

-


PL. Programming Languages (21 core hours)



PL1. Overview of programming languages

2


PL2. Virtual machines

1


PL3. Introduct
ion to language translation

2


PL4. Declarations and types

3


PL5. Abstraction mechanisms

3


PL6. Object
-
oriented programming

10


PL7. Functional programming

-


PL8. Language translation systems

-


PL9. Type systems

-


PL10. Programming language sem
antics

-


PL11. Programming language design

-


HC. Human
-
Computer Interaction (8 core hours)



HC1. Foundations of human
-
computer interaction

6


HC2. Building a simple graphical user interface

2


HC3. Human
-
centered software evaluation

-


HC4. Human
-
centered software development

-


HC5. Graphical User Interface Design

-


HC6. Graphical User Interface Programming

-


HC7. HCI aspects of multimedia systems

-


HC8. HCI aspects of collaboration and communication

-


GV. Graphics and Visual Programming

(3 core hours)



GV1. Fundamental techniques in graphics

2


GV2. Graphic systems

1


GV3. Graphic communication

-


GV4. Geometric modeling

-


GV5. Basic rendering

-


GV6. Advanced rendering

-


GV7. Advanced techniques

-


GV8. Computer animation

-



17

GV9. Visualization

-


GV10. Virtual reality

-


GV11. Computer vision

-


IS. Intelligent Systems (10 core hours)



IS1. Fundamental issues in intelligent systems

1


IS2. Search and constraint satisfaction

5


IS3. Knowledge representation and reason
ing

4


IS4. Advanced search

-


IS5. Advanced knowledge representation and reasoning

-


IS6. Agents

-


IS7. Natural language processing

-


IS8. Machine learning and neural networks

-


IS9. AI planning systems

-


IS10. Robotics

-


IM. Information Man
agement (10 core hours)



IM1. Information models and systems

3


IM2. Database systems

3


IM3. Data modeling

4


IM4. Relational databases

-


IM5. Database query languages

-


IM6. Relational database design

-


IM7. Transaction processing

-


IM8. Di
stributed databases

-


IM9. Physical database design

-


IM10. Data mining

-


IM11. Information storage and retrieval

-


IM12. Hypertext and hypermedia

-


IM13. Multimedia information and systems

-


IM14. Digital libraries

-


SP. Social and Professio
nal Issues (16 core hours)



SP1. History of computing

1

2

SP2. Social context of computing

3


SP3. Methods and tools of analysis

2


SP4. Professional and ethical responsibilities

3


SP5. Risks and liabilities of computer
-
based systems

2


SP6. Intel
lectual property

3


SP7. Privacy and civil liberties

2


SP8. Computer crime

-

2

SP9. Economic issues in computing

-


SP10. Philosophical frameworks

-


SE. Software Engineering (31 core hours)



SE1. Software design

8


SE2. Using APIs

5


SE3. Softw
are tools and environments

3


SE4. Software processes

2


SE5. Software requirements and specifications

4


SE6. Software validation

3


SE7. Software evolution

3

1


18

SE8. Software project management

3


SE9. Component
-
based computing

-


SE10. Formal met
hods

-


SE11. Software reliability

-


SE12. Specialized systems development

-


CN. Computational Science (no core hours)



CN1. Numerical analysis

-


CN2. Operations research

-


CN3. Modeling and simulation

-


CN4. High
-
performance computing

-


TO
TAL


45



19

Program Outcomes

Fill in the table relating your course outcomes to CS program outcomes. Indicate the extent to
which each CSCE Program Outcome listed below is related to a course outcome. Use a 5 point
scale: 0=not at all, 1=very slight, 2=sli
ght, 3=moderate, 4=significant, 5=highly significant. For
any outcome with a score of 4 or 5, identify the course outcomes that relate to the program
outcome.


Computer Science Outcomes


Operating Systems

Extent

Course
Outcome

1)

Demonstrate proficiency in

algorithms, data structures, software design,
concepts of programming languages, and computer organization and
architecture.

4

1

2)

Develop breadth in advanced Computer Science topics that build on the
core (Database Management, Operating Systems, Formal La
nguages).

2

1

3)

In a collaborative, team project, analyze, design, and implement a
significant software solution to a problem.

0


4)

Compose, test, and document programs in several different programming
paradigms.

2

1

5)

Have expertise in at least one important

programming language.

1

1

6)

Be able to use easily several operating systems, computer architectures,
and network environments.

4

1

7)

Apply knowledge of mathematics and natural science.

1

1

8)

Communicate effectively.

3

1

9)

Understand the history of computing,
the social context of computing,
professional and ethical responsibilities, risks and liabilities of computer
-
based systems, intellectual property, and privacy and civil liberties.

2

1

10)

Recognize the need for, and have the ability to engage in life
-
long
le
arning.

2

1

11)

Have knowledge of contemporary issues.

2

1

Computer Engineering Outcomes



Operating Systems



A

an ability to apply knowledge of mathematics, science, and engineering

3

1

B

an ability to design and conduct experiments, as well as to analyze a
nd
interpret data

2

1

C

an ability to design a system, component, or process to meet desired
needs within realistic constraints such as economic, environmental,
social, political, ethical, health and safety, manufacturability, and
sustainability

3

1

D

an a
bility to function on multi
-
disciplinary teams

0

1

E

an ability to identify, formulate, and solve engineering problems

3

1

F

an understanding of professional and ethical responsibility

3

1

G

an ability to communicate effectively

3

1

H

the broad education n
ecessary to understand the impact of engineering
solutions in a global, economic, environmental, and societal context

2

1

I

a recognition of the need for, and an ability to engage in life
-
long
learning

2

1

J

a knowledge of contemporary issues

2

1

K

(k) an

ability to use the techniques, skills, and modern engineering tools
necessary for engineering practice.

4

1



20

Student Work

Hardcopies of student work are available in the CSCE Department (CSCE 311). These include:



Homework assignments



2 in
-
class exams



Fi
nal Exam

Assessing Course Effectiveness

What do you, the instructor, do to assess the effectiveness of your course? How do you make
decisions to change the course? How do you assess how well the course is achieving its
outcomes?



During the semester:

o

In
class participation, Homework, 2 in
-
class exams, Final Exam



At the end of the semester:

o

Course Evaluation

o

CSCE Outcomes Assessment


begun in Spring 2005



Other feedback:

o

Discussions and feedback from students during the semester

o

Feedback from instructors i
n courses that depend on this course

Course Improvement

Document suggestions for improvement for the next time this course is taught.