Write a letter describing how "This position is directly related to major area of study"
A Course Syllabus
for
CS 5300
Advanced Algorithms
(Three semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: Techniques needed to analyze algorithms, divide-and-conquer approach, matrix manipulation, dynamic programming, greedy approach, backtracking, branch-and-bound, and NP- completeness. Prerequisites: CS 4300 or instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2019-2020
2
I. Purpose of the Course
This course is designed for graduate students in computer science and is intended to introduce them to the standard techniques used in analyzing algorithms. Examples from a variety of computer science sub-disciplines will be presented. The relationships between these sub-disciplines will be shown through the study of NP- completeness.
II. Objectives and Desired Student Competencies
Upon completion of this course the student should be able to:
• Analyze worst-case and average-case running times of algorithms using
asymptotic analysis. • Derive and solve recurrences describing the performance of divide-and-conquer
algorithms. • Describe and analyze dynamic-programming algorithms. • Describe and analyze greedy algorithms. • Describe and analyze backtracking algorithms. • Explain the major graph algorithms and their analyses. • Compare algorithms using established analysis techniques • Understand the notions of class P and class NP problems
III. Student Learning Outcomes Computer Science Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science.
Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity. Outcome 5: Recognize the need for and engage in continuing professional development.
(Cybersecurity) Outcome 1: An ability to apply algorithmic principles and formal models to solve advanced problems in cybersecurity and computing.
IV. Course Content Outline
Text: Foundations of Algorithms, Fifth Edition, Richard E. Neapolitan, Jones & Bartlett Learning 2015.
A. Algorithms: Efficiency, Analysis, and Order 1. Algorithms 2. The Importance of Developing Efficient Algorithms
3
3. Analysis of Algorithms 4. Master Theorem 5. Order
B. Divide-and-Conquer 1. Mergesort 2. The Divide-and-Conquer Approach 3. Quicksort 4. Strassen’s Matrix Multiplication Algorithm 5. Arithmetic with Large Integers 6. Determining Thresholds 7. When Not to Use Divide-and-Conquer
C. Dynamic Programming
1. The Binomial Coefficient 2. Floyd’s Algorithm for Shortest Paths 3. Dynamic Programming and Optimization Problems 4. Chained Matrix Multiplications 5. The Traveling Salesperson Problem
D. The Greedy Approach
1. Minimum Spanning Trees 2. Dijkstra’s Algorithm for Single-Source Shortest Paths 3. Scheduling 4. Huffman Code 5. The Greedy Approach versus Dynamic Programming
E. Backtracking
1. The Backtracking Technique 2. The n-Queens Problem 3. Graph Coloring 4. The Hamiltonian Circuits Problem 5. The 0-1 Knapsack Problem
F. Branch-and-Bound
1. Illustrating Branch-and-Bound with the 0-1 Knapsack Problem. 2. The Traveling Salesperson Problem
G. Computational Complexity and Intractability: An Introduction to the Theory of NP
1. Intractability 2. Input Size Revisited 3. The Three General Problem Categories 4. The Theory of NP 5. Handling NP-Hard Problems
4
V. Procedures/Assessment
The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate. Assessment of student performance will use a criterion-referenced model which will include programming assignments, written assignments, regular examinations, a semester project, and a comprehensive final exam.
A typical grading scale will be as follows: Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D below 60 F
VI. Americans With Disabilities Act
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543-4421.
A Course Syllabus
for
CYBR 5800
Advanced Computer Networking and Security
(Three semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: An in-depth study of various network attacks techniques and methods to defend against them. Topics include packet sniffing and spoofing, attacks on the TCP protocol, firewall, DNS attacks, and VPN. Prerequisite(s): CS 3840 or instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2019-2020
2
I. Purpose of the Course
This course is designed for cybersecurtiy graduate students. An in-depth study of advanced topics in the field of networking security and cryptography. Topics include packet sniffing and spoofing, attacks on the TCP protocol, firewall, DNS attacks, and VPN, The course emphasizes various concepts and principles of security in computer networks.
II. Objectives and Desired Student Competencies
Upon completion of this course the student should be able to:
• Understand the general principles and concepts of computer networks. • Understand network attack/defense protocols and techniques. • Understand secure network operations. • Be able to exploit various network vulnerabilities in a virtual environment
III. Student Learning Outcomes Computer Science Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science. Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity. Outcome 3: Be able to use current techniques, skills, and tools necessary for computing practice. Outcome 5: Recognize the need for, and engage in, continuing professional development. Cybersecurity
Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science.
Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity.
Outcome 3: Be able to use current techniques, skills, and tools necessary for computing practice.
Outcome 4: Communicate effectively with a range of audiences, work effectively in a team environment, and demonstrate an understanding of ethical concerns related to computing.
IV. Course Content Outline
Text: Internet Security: A Hands-on Approach, Second Edition, Wenliang Du, ISBN: 978-1-7330039-1-9 Topics to be covered:
3
A. Packet Sniffing and Spoofing
1. How Packets are Received 2. Packet Sniffing 3. Packet Spoofing 4. Sniffing and Spoofing using Python and Scapy 5. Spoofing Packets using a Hybrid Approach
B. Attacks on the TCP Protocol
1. How the TCP Protocol Works 2. SYN Flooding Attack 3. TCP Reset Attack 4. TCP Session Hijacking Attack
C. Firewall
1. Types of Firewall 2. Building a Simple Firewall using Netfilters 3. Netfilter 4. The iptables Firewall in Linux 5. Stateful Firewall using Connection Tracking 6. Application/Proxy Firewall and Web Proxy 7. Evading Firewall
D. Domain Name System Attacks 1. DNS Hierarchy, Zones and Servers 2. DNS Query Process 3. Constructing DNS Request and Reply using Scapy 4. Local DNS Cache Poisoning Attack 5. Remote DNS Cache Poisoning Attack 6. Reply Forgery Attacks from Malicious DNS Servers 7. DNS Rebinding Attack 8. Protection Against DNS Spoofing Attacks 9. Denial of Service Attacks on DNS Servers
E. Virtual Private Network
1. Overview of How TLS/SSL VPN Works 2. Building a VPN 3. TLS 4. Setting up a VPN 5. Testing VPN 6. Using VPN to Bypass Egress Firewall
IV. Procedures/Assessment
4
The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate. Assessment of student performance will use a criterion-referenced model which will include programming assignments, written assignments, regular examinations, and a comprehensive final exam.
A typical grading scale will be as follows:
Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D below 60 F
V. Americans With Disabilities Act
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543-4421.
A Course Syllabus
for
SE 5910
Advanced Software Engineering
(Three semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description:
An in-depth study of advanced topics in the field of software engineering. Topics include software requirements workflow, object-oriented analysis and design workflow, implementation workflow, testing workflow, post-delivery maintenance, UML, software project management, emerging technology and applications.
Prerequisite: SE 5910
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2019 - 2020
I. Purpose of the Course
Students learn how to build a software application using a software development process and state-of-the-art CASE tools. II. Objectives and Desired Student Competencies Upon completion of this course, the student should be able to:
1. Understand software life cycle models and Agile process including SCRUM and KANBAN
2. Define what is meant by software engineering 3. Understand the differences among software development process models 4. Understand the architectural design 5. Describe the capability maturity model(CMM) 6. Analyze the strengths and weaknesses of a variety of different team organizations 7. Understand the importance of CASE 8. Apply cost benefit analysis 9. Design modules and classes with high cohesion and low coupling 10. Understand the need of information hiding 11. Describe the software engineering implications of inheritance, polymorphism and
dynamic binding 12. Understand the benefits and problems of reusing software when developing new system. 13. Understand the key elements of software component models and the support provided by
middleware for these models 14. Know the key issues that have to be considered when designing and implementing
distributed software systems.
Student Learning Outcomes (Computer Science) Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity. Outcome 3: Be able to use current techniques, skills, and tools necessary for computing practice. Outcome 4: Communicate effectively with a range of audiences, work effectively in a team environment, and demonstrate an understanding of ethical concerns related to computing. Outcome 5: Recognize the need for, and engage in, continuing professional development. Student Learning Outcomes (Cybersecurity) Outcome 1: An ability to apply algorithmic principles and formal models to solve advanced problems in cybersecurity and computing. Outcome 5: An Ability to communicate effectively to a range of audiences, work effectively in a team environment, and recognize the need for continual professional development. III. Course Content Outline
1. Text: Software Engineering (10th Edition) by Ian Sommerville, ISBN-13: 978- 0133943030
1. Introduction to Software Engineering (Chapter 1) 2. A recapitulation of software process models (Chapter 2) 3. A recapitulation of Agile software development (Chapter 3) 4. Fundamental software engineering activities (Chapter ??) 5. A recapitulation of requirements engineering (Chapter 4) 6. Functional and non-functional requirements 7. A recapitulation of Object oriented programming and UML Diagrams 8. A recapitulation of Software Testing (Chapter 8) 9. Architectural design (Chapter 6) 10. Project Management (Chapter 22) 11. Agile planning (Chapter 23.4) 12. Estimation techniques (Chapter 23.5 and 23.6) 13. Software reuse (Chapter 15) 14. Component-based software engineering (Chapter 16) 15. Distributed software engineering (Chapter 17) 16. Service oriented software engineering (Chapter 18??) 17. System dependability (Chapter 10) 18. System security (Chapter 13)
IV. Procedures/Assessment Class Attendance 10% Class participation 5% A 90.0 or above Quiz 10% B 80.0 – 89.99
Project/Presentation 25% C 70.0 – 79.99 Midterm Exam (2) 30% D 60.0 – 69.99 Final Exam 20% F Below 60.0
V. Communication and Getting Help
1. Office Hours Your instructor has an open door policy as well as the scheduled office hours.
VI. Student with Disabilities
1. Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220 (Voice and TTY) 660- 543-4421.
VII. Absences 1. University-approved Trips
Department chairpersons, directors, or others responsible for a student representing the university on officially approved trips should notify the student’s instructors of the departure and return schedules in advance of the trip. The instructor so notified must not penalize the student, although the student is responsible for material missed.
2. Illness
Verifiable documentation is needed for absences due to illness. A student who is absent from classes due to illness shall be allowed to take an examination or complete an assignment scheduled for that day within a reasonable time after the absence
VIII. Academic Honesty
1. All in-class and out-of-class assignments must be the student’s own work. Plagiarism will not be tolerated. Plagiarism consists of using another person’s words, thoughts, or ideas as one’s own. If you have any questions about this very serious issue, please ask me. Additionally, I follow the Academic Honesty policy as set forth in the UCM Student Planner-Handbook (pp.172-73). A student who plagiarizes will receive a failing grade on the assignment and may not receive credit for the course.
IX. Library
1. You may access your library account, the online catalog, and electronic databases from James C. Kirkpatrick Library’s website at http://library.ucmo.edu.For research assistance you may contact the Reference Desk: Phone: 543-4154. Email: [email protected]
X. The Writing Center
1. Students who need to sharpen their writing skills can visit the writing center located in the Learning Center, JCKL 3160. No appointment is necessary.
A Course Syllabus
for
CS 5030
Reading in Computer Science
(One - six semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE AND TECNOLOGY
Catalog Description: Selected reading in computer science designed to deepen and expand the student’s understanding of an area of interest. May be repeated for a maximum of 6 semester hours. Prerequisites: Instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2018-2019
I. Purpose of the Course
To give graduate students an opportunity to do individual study in areas in which the department does not offer courses or to study in further depth topics covered in other courses.
II. Objectives and Desired Student Competencies
Students will:
• Study in an area of computer science beyond the regular offering of the school under the supervision of a faculty member.
• Meet with the faculty member 1-2 times per week to report the progress or to ask for advice.
• Complete a written report on the topics read.
III. Student Learning Outcomes
Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science.
Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity. Outcome 2: Be able to use current techniques, skills, and tools necessary for
computing practice. Outcome 4: Communicate effectively with a range of audiences, work
effectively in a team environment, and demonstrate an understanding of ethical concerns related to computing.
Outcome 5: Recognize the need for, and engage in, continuing professional development.
IV. Course Content Outline
To be filled in on an individual basis (requiring approval of the computer science committee)
V. Procedures/Assessment
Course evaluation uses a criterion-referenced model based on assignments, projects or papers, and exams. A typical grading scale will be as follows:
Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D
below 60 F
VI. Americans With Disabilities Act
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543- 4421.
A Course Syllabus
for
CS 5600
Advanced Database Systems
(Three semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: An in-depth study of advanced topics in the field of database systems such as data storage, query processing and optimization, transaction management, concurrency control, recovery, data warehouse and data mining, NoSQL databases, and advanced application development. Prerequisite(s): CS 4600 or instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2019-2020
2
I. Purpose of the Course
This course is designed for computer science graduate students. It provides an in- depth study of advanced topics in the field of database systems such as data storage, query processing and optimization, transaction management, concurrency control, recovery system, data warehouse, NoSQL databases, and advanced application development.
II. Objectives and Desired Student Competencies
Upon completion of this course the student should be able to:
• Understand Storage and File Structures, Indexing and Hashing. • Understand Query Processing and Optimization. • Understand Transaction Management, Concurrent Control, and Recovery. • Understand core concepts of NoSQL database. • Develop Data Warehouses, Analyze and Retrieve Information. • Perform Database Performance Turning. • Develop Advanced Web Database Applications.
III. Student Learning Outcomes
Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science.
Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity.
Outcome 3: Be able to use current techniques, skills, and tools necessary for computing practice.
Outcome 4: Communicate effectively with a range of audiences, work effectively in a team environment, and demonstrate an understanding of ethical concerns related to computing.
Outcome 5: Recognize the need for, and engage in, continuing professional development.
IV. Course Content Outline
Text: Database System Concepts, Sixth Edition, Silberschatz, Korth, and Sudarshan, McGraw-Hill 2011.
A. Data Storage and Querying 1. Storage and File Structure 2. Indexing and Hashing 3. Query Processing 4. Query Optimization
3
B. Transaction Management
1. Transaction 2. Concurrency Control 3. Recovery System
C. System Architecture
1. Database-System Architectures 2. NoSQL databases
D. Data Analysis and Mining
1. Data Warehousing 2. Data Mining 3. Information Retrieval
E. Advanced Application Development
1. Performance Turning 2. Advanced Web Database Programming
IV. Procedures/Assessment
The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate. Assessment of student performance will use a criterion-referenced model which will include programming assignments, written assignments, regular examinations, a semester project, and a comprehensive final exam.
A typical grading scale will be as follows:
Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D below 60 F
V. Americans With Disabilities Act
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543-4421.
A Course Syllabus
for
CS 5900
Compiler Design and Construction
(Three semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: Compiler design and construction includes concepts and techniques for building components of a
compiler: finite automata and scanners, context-free grammars and parsers, semantic analysis, symbol tables, and code generation. Topics of LL(k), LR(k) grammars, Lex and Yacc will also
be discussed. Prerequisites: CS 3100 or consent of the instructor
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2019 - 2020
Purpose of the Course
This course is designed for computer science students and is intended to introduce them to the fundamental concepts of compiler construction. Compiler construction is an important branch of computer science. Studying the parts of a compiler and compiling process is essential in the understanding of any language.
II. Objectives and Desired Student Competencies
Upon completion of this course the student should be able to: • Understand grammars and finite automata, and languages. • Implement various phases in the compiling process.
Student Leaning Outcomes (Computer Science) Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science. Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity. Outcome 3: Be able to use current techniques, skills, and tools necessary for computing practice. Outcome 5: Recognize the need for, and engage in, continuing professional development. Student Leaning Outcomes (Cybersecurity) Outcome 1: An ability to apply algorithmic principles and formal models to solve advanced problems in cybersecurity and computing.
III. Course Content Outline Text: Compiler Construction Principles and Practices, Kenneth Louden, PWS 1997 or Compilers: Principles, Techniques, and Tools, A. Aho, M. Lam, R. Sethi, and J. Ullman, 2nd ed., Addison-Wesley 2007
A. Introduction 1. History 2. Overview of Compiler Phases 3. Analysis-Synthesis, and Frontend-Backend Models 4. Programs Related to Compilers 5. Major Data Structures in a Compiler 6. T-Diagrams 7. Compiler Porting, and Bootstrapping
B. Scanning 1. Formal Languages Basics 2. The Scanning Process 3. Regular Expressions and Finite Automata
4. Thompson’s Construction Method 5. Subset Construction Method 6. DFA Minimization Algorithm 7. DFA Implementation 8. Lex: a Scanner Generator
C. Context-Free Grammar 1. The Parsing Process 2. Context-Free Grammars 3. Parse Trees and Abstract Syntax Trees 4. Ambiguity 5. Extended BNF, and Syntax Diagrams
D. Top-Down Parsing 1. Top-Down Parsing by Recursive-Descent 2. Left Recursion Elimination 3. Left Factoring 4. LL(1) Parsing 5. First and Follow Sets
E. Bottom-Up Parsing
1. Overview of Bottom-Up Parsing 2. Finite Automata of LR(0) Items and LR(0) Parsing 3. Yacc: an LALR (1) Parser Generator 4. Error Recovery
F. Semantic Analysis
1. Attributes and Attribute Grammars 2. Algorithms for Attribute Computation 3. The Symbol Table 4. Data Types and Type Checking
G. Code Generation
1. Data Structure for Code Generation 2. Basic Code Generation Techniques
IV. Procedures/Assessment
The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate. Assessment of student performance will use a criterion-referenced model which will include programming assignments, written assignments, regular examinations, a semester project, and a comprehensive final exam.
A typical grading scale will be as follows:
Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D below 60 F
A Course Syllabus
for
CS 4140
Web Applications Security
(Three semester hours credit)
in the
Department of Mathematics and Computer Science
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: Identification and prevention of security vulnerabilities in web applications. Topics include
Cross-site scripting (XSS), Cross-Site Request Forgery, Browser Security, Secure Web Development.
Prerequisites: CS 1030 or CS 1100 or instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2018-2019
I. Purpose of the Course
Web applications have often been developed with minimal attention to security risks. As a result, a large number of corporate sites have become the targets of cybercrimes. The aim of this course is to help students understand the reason behind common security vulnerabilities in web applications and to introduce proper defense methods. In a tool-driven process, students will take sample web applications and redesign them as secure as possible. This course assumes the knowledge on web basics.
II. Objectives and Desired Student Competencies
At the completion of this course, students will be able to: • Understand the fundamentals of web security • Use existing tools to detect security flaws in web applications • Identify the appropriate defense method to mitigate the security threats • Rewrite the web applications to eliminate the security vulnerabilities
In addition, a student taking this course for graduate credits will be able to:
• Understand and analyze web-based vulnerabilities using multi-level security models • Automate the transformation of web-based vulnerable code to standards compliant code.
III. Textbook
1. The Basics of Web Hacking: Tools and Techniques to Attack the Web, 1st Edition Josh Pauli Syngress, 2013
2. Iron-Clad Java: Building Secure Web Application, 1st Edition
Jim Manico, August Detlefsen McGraw-Hill Osborne Media, 2014
IV. Course Content Outline
1. Web Fundamentals HTML HTTP & HTTPS Web Server Javascript Cookie Session Management Browser Security
2. Secure Authentication and Access
Basic Authentication Session Hijacking Session Fixation Attack Password Management Identify and Access Control Missing Function Level Access Control Spring Security 3.0 ACLs
3. Secure User Input
Reflected Cross-Site Script Stored Cross-Site Script DOM-based Cross-Site Script SQL-Injection Store Procedure Injection Cross-Site Request Forgery User Input Validation
4. Confidentiality
Secure Web Configuration for cryptography Key Management and Certificates Side-channel Leaks Database Encryption
5. Secure File upload
File Path Injection File Upload Attack Safe File Upload Practice
6. Secure Web Development
Secure Coding Practice Secure Development Lifecycle Functional Programming for Secure Web Apps
IV. Procedures/Assessment
The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate.
Assessment of student performance will use a criterion-referenced model, which will include programming project assignments, written assignments, regular examinations, a semester project, and a comprehensive final exam.
A sample grading scale: A: 90-100% B: 80-89% C: 70-79% D: 60-69% F: 0-59%
A sample grade distribution:
Undergraduate Graduate Assignments: 30% Assignments: 20% Undergraduate Course Project: 20% Graduate Course Project: 20% Midterm exam: 20% Midterm exam: 20% Final exam: 30% Final exam: 30% Term paper: 10%
Graduate-level assessment: If a student is taking this course for graduate credit, the student should set up an appointment with the instructor immediately at the beginning of the semester. To comply with the university policy regarding courses that can be taken for either graduate or undergraduate credit, a student taking this course for graduate credit will be required to write a graduate term paper on a topic assigned by the instructor. Exams: The midterm and final exams will consist of a set of questions (approximately 70% of the total points) common for both undergraduate and graduate students. The other 30% of the points will be divided into two different sets of problems at different difficulty levels. One set of questions will be completed only by graduate students. The other set of questions designed at an undergraduate difficulty level will be completed only by undergraduate students. Assignments: Each assignment will have approximately additional 30% problems designed at the graduate difficulty level that will be completed only by graduate students. Course Project: Students taking this course for graduate credit will be required to do a graduate course project which is different from his/her undergraduate counterparts. The course project for graduate students will emphasize the quantitative analytical aspect of a problem as opposed to qualitative arguments expected from an undergraduate course project.
V. Americans With Disabilities Act
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543-4421.
A Course Syllabus
for
CS 4820
Introduction to Information Assurance
(Three semester hours credit)
in the
Department of Mathematics and Computer Science
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: Formal models and principles of computer security to achieve information assurance.
Topics include security policies and models, access control, information flow, confinement, security risk assessment, legal and ethical aspects of security.
Prerequisites: CS 2300 or instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2018-2019
I. Purpose of the Course This course provides an introduction to the fundamental principles, techniques, and models of information assurance. It emphasizes the policy aspects of cybersecurity and covers the security design principles for information assurance in a more abstract setting using concepts like information flow and confinement. Some topics relevant for implementing security policies like security risk assessment and security controls are also covered. II. Objectives and Desired Student Competencies Upon completion of this course the student should be able to:
• Understand CIA principles of information assurance • Understand formal models of security • Understand access control mechanisms • Design security policy of an organization • Perform security risk assessment in an organization • Understand legal and ethical aspects of computer security
In addition, a student taking this course for graduate credits will be able to: • Develop security policy based on formal models. • Apply the Common Criteria for system evaluation. III. Textbook Computer Security: Art and Science Matt Bishop Addison-Wesley, 2002 IV. Course Content Outline
1. Foundations a. Access Control b. HRU Model c. Take-Grant Model
2. Security Policies a. Confidentiality Policies b. Integrity Policies c. Hybrid Policies d. Noninterference and Policy Composition
3. Assurance in System Implementation a. Design Principles b. Representing Identity c. Information Flow d. Confinement Problem
e. Formal Methods f. Evaluating Systems
4. Managing Security a. Security Risk Assessment b. Security Controls or Safeguards c. Security Plan d. Implementation of Controls e. Monitoring Risks f. Legal and Ethical Aspects
IV. Procedures/Assessment The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate. Assessment of student performance will use a criterion-referenced model, which will include programming project assignments, written assignments, regular examinations, a semester project, and a comprehensive final exam. Students electing this course for graduate credit will be required to write a paper that will focus on one of the topics/issues from this course approved by the instructor. A sample grading scale: A: 90-100% B: 80-89% C: 70-79% D: 60-69% F: 0-59% A sample grade distribution: Undergraduate: Graduate: Assignments: 30% Assignments: 30% Undergraduate Course Project: 20% Graduate Course Project: 10% Midterm exam: 20% Term paper: 10% Final exam: 30% Midterm exam: 20% Final exam: 30% Graduate-level assessment: If a student is taking this course for graduate credit, the student should set up an appointment with the instructor immediately at the beginning of the semester. To comply with the university policy regarding courses that can be taken for either graduate or undergraduate credit, a student taking this course for graduate credit will be required to write a graduate term paper on a topic assigned by the instructor. Exams: The midterm and final exams will consist of a set of questions (approximately 70% of the total points) common for both undergraduate and graduate students. The other 30% of the points will be divided into two different sets of problems at different difficulty levels. One set of questions will be completed only by graduate students. The other set of questions designed at an undergraduate difficulty level will be completed only by undergraduate students. Assignments: Each assignment will have approximately additional 30% problems designed at
the graduate difficulty level that will be completed only by graduate students. Course Project: Students taking this course for graduate credit will be required to do a graduate course project which is different from his/her undergraduate counterparts. The course project for graduate students will emphasize the quantitative analytical aspect of a problem as opposed to qualitative arguments expected from an undergraduate course project. V. Americans with Disabilities Act Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543-4421.
A Course Syllabus
for
CS 5500
Advanced Operating Systems
(Three semester hours credit)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE, AND TECHNOLOGY
Catalog Description: An in-depth study of advanced topics in the field of operating systems such as protection and security, distributed system structures, distributed file systems, multiprocessor operating systems, inter-process communication, parallel and concurrent programming. Prerequisite(s): CS 4500 or instructor consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2019-2020
2
I. Purpose of the Course
This course is designed for computer science graduate students. It provides an in- depth study of advanced topics in the field of operating systems such as protection and security, distributed system structures, distributed file systems, multiprocessor operating systems, inter-process communication, parallel and concurrent programming.
II. Objectives and Desired Student Competencies
Upon completion of this course the student should be able to: ● Understand structures of operating systems. ● Discuss various operating system algorithms. ● Understand concepts of protection and security. ● Understand scheduling and synchronization in multiprocessor operating systems. ● Design and implement multi-process/multi-thread application programs.
III. Student Learning Outcomes Computer Science:
Outcome 1: Apply algorithmic principles and computing theories to solve advanced problems in Computer Science.
Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity.
Outcome 3: Be able to use current techniques, skills, and tools necessary for computing practice.
Outcome 4: Communicate effectively with a range of audiences, work effectively in a team environment, and demonstrate an understanding of ethical concerns related to computing.
Outcome 5: Recognize the need for, and engage in, continuing professional development.
Cybersecurity: Outcome 1: An ability to apply algorithmic principles and formal models to solve
advanced problems in cybersecurity and computing.
IV. Course Content Outline Text: Operating System Concepts, 10th Edition, Abraham Silberschatz, Peter B. Galvin, and Greg Gagne, Wiley 2018.
A. Protection 1. Principles of Protection 2. Access Matrix and Implementation
3
3. Access Control 4. Capability-Based Systems
B. Security
1. Computer Security Concepts 2. Threats and Attacks 3. Computer Security Techniques
C. Distributed Systems
1. Distributed System Structures 2. Distributed File System 3. Distributed Processing 4. Distributed Process Management
D. Multiprocessor Operating Systems
1. Structure of Multiprocessor Operating Systems 2. Kernel of Multiprocessor Operating System 3. Scheduling and Synchronization
E. Parallel and Concurrent Programming
1. POSIX Threads, Java Threads, OpenMP 2. Mutual Exclusion 3. Synchronization 4. Safety and Performance Issues
IV. Procedures/Assessment
The lecture format will be the basic mechanism used in the course. Computer demonstrations in the classroom will be used whenever appropriate. Assessment of student performance will use a criterion-referenced model which will include programming assignments, written assignments, regular examinations, a semester project, and a comprehensive final exam.
A typical grading scale will be as follows:
Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D below 60 F
V. Americans With Disabilities Act
4
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543-4421.
A Course Syllabus
for
CS 5020
Internship in Computer Science
(1-3 semester credit hours)
in the
School of Computer Science and Mathematics
of the
COLLEGE OF HEALTH, SCIENCE AND TECHNOLOGY
Catalog Description: Graduate level internship providing practical high level work experience in the computer science career area. May be repeated for a maximum of 6 semester hours. Prerequisites: Computer Science committee and graduate adviser consent.
UNIVERSITY OF CENTRAL MISSOURI
Warrensburg, Missouri
2018-2019
I. Purpose of the Course
This course provides students opportunity to gain high level professional experience(s) in areas of computer science.
II. Objectives and Desired Student Competencies
Students will: • Participate in a professional setting for an extended period of time. • Engage in experiences related to the student’s interests and to breadth of the
degree. • Internships may include one or more of the following:
(i) Application software development (ii) Networking, Client service, Computer system maintenance (iii) Computer/human interaction
III. Student Learning Outcomes
Outcome 1: Apply algorithmic principles and computing theories to solve
advanced problems in Computer Science. Outcome 2: Apply design and development principles in construction of computer-based systems of varying complexity. Outcome 2: Be able to use current techniques, skills, and tools necessary for
computing practice. Outcome 4: Communicate effectively with a range of audiences, work
effectively in a team environment, and demonstrate an understanding of ethical concerns related to computing.
Outcome 5: Recognize the need for, and engage in, continuing professional development.
IV. Course Content Outline
To be filled in on an individual basis (requiring approval of the computer science committee). The student would sign a contract with the instructor listing the commitments from both the student and the instructor. The student should complete at least 100 hours of internship work in a semester for each credit hour.
V. Procedures/Assessment
Course evaluation uses a criterion-referenced model based on internship project(s). A typical grading scale will be as follows:
Percent Grade 90 -100 A 80 - 89 B 70 - 79 C 60 - 69 D
below 60 F
VI. Americans With Disabilities Act
Students with documented disabilities who are seeking academic accommodations should contact the Office of Accessibility Services, Union 220, (V) (TTY) 660-543- 4421.