Course


Teaching Allocation System

ALL Approved Courses / Syllabi:


None
Course Number:
CSCI 1000

Approved Starting Semester:
Fall 2019

Course Title:
Introduction to Computer Applications

Credit Hours:
3

Course Description (Bulletin Description):
History of computers and computing; social and ethical issues in computing; networks, communications, and the Internet; computer hardware; system software; application software involving web browsers, word processing, spreadsheets, database management systems and presentation software.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A.

Topics Covered (In Outline/Calendar):
1. Brief introduction to computers 2. History of computers and computing 3. Introduction to using computers 4. Word processing 5. Spreadsheet 6. Database 7. Presentation 8. The Internet and World Wide Web 9. Application software 10. The components of the system unit 11. Operating systems and utility programs 12. How to purchase, install, and maintain a personal computer

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li

Previous Professors:
Dr. Jiang Li, Mrs. Sharon Bolander, Mr. Calvin Bolander

Technologies / Skills:
A computer literacy course, Microsoft Office (Word, Excel, Powerpoint, Access)

Textbook(s):
Spring 2025
Title: DISCOVERING COMPUTERS 2018
Edition: 18
Author: Vermaat, Sebok, Freund
Publisher: CENGAGE L
ISBN: 9781337285100
========================================


None
Course Number:
CSCI 1001

Approved Starting Semester:
Spring 2019

Course Title:
Introduction to Building Webpages

Credit Hours:
1

Course Description (Bulletin Description):
An introductory course in web development for those new to computer science. This course focuses on the fundamentals of building websites and good coding practices. Topics include learning HTML markup language and Cascading Style Sheets (CSS) style sheet language.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Upon successful completion of this course students should be able to 1. Construct webpages using HTML. 2. Use Cascading Style Sheet (CSS) to style webpages. 3. Examine the markup validity of HTML web documents using an online validation service. 4. Examine the validity of CSS style sheet documents using an online validation service.

Topics Covered (In Outline/Calendar):
1. Introduction to web development. 2. Introduction to coding. 3. Testing and validating a HTML web document. 4. Testing and validating a CSS style sheet document. 5. Using and applying HTML structure. 6. Using CSS to format elements of a webpage.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. Leong Lee, Dr. Alice Lin, Faculty who taught CSCI 1300 / 3300

Technologies / Skills:
HTML / CSS coding, code editor, Web Browser

Textbook(s):
Textbook information not available.
========================================


None
Course Number:
CSCI 1002

Approved Starting Semester:
Spring 2019

Course Title:
Introduction to Java Language Basics

Credit Hours:
1

Course Description (Bulletin Description):
This is an introduction to coding using the Java programming language. Topics include overview of the Java syntax and structure; the use of integrated development environments for the creation and compilation of Java programs; the processes and methods for writing well-structured, well-documented, and well-performing computer programs to implement common information processing tasks.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Upon successful completion of this course students should be able to 1. Use an integrated development environment (IDE) to create computer programs. 2. Compile and run Java programs. 3. Identify and apply Java programming concepts such as decision structures and loops. 4. Write Java programs to implement common information processing tasks.

Topics Covered (In Outline/Calendar):
1. Introduction to programming. 2. Introduction to integrated development environment (IDE). 3. Java fundamentals and Java program structure. 4. Decision structures 5. Introduction to loops

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. Leong Lee, Faculty who taught CSCI 1010 / 1011

Technologies / Skills:
Java programming language

Textbook(s):
Textbook information not available.
========================================


None
Course Number:
CSCI 1004

Approved Starting Semester:
Summer 2020

Course Title:
Introductory Computing Experience

Credit Hours:
1 -3

Course Description (Bulletin Description):
This is an introduction to computing experience course. Topics will include a selection from one or more popular areas of computing, such as (but not limited to) web development, application development, and video game development.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Upon completion of the course, students will be able to: - Recall the computing techniques introduced in the class. - Describe the development process of the student's developed application. - Utilize and apply modern computing development practices. - Independently create an application using an introduced computing technology.

Topics Covered (In Outline/Calendar):
- Computing literacy. - A programming language or a computing development environment. - The application development process. - Best practices in development.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. James Church

Technologies / Skills:
Web Development, Application Development, Video Game Development etc.

Textbook(s):
Textbook information not available.
========================================


None
Course Number:
CSCI 1005

Approved Starting Semester:
Fall 2021

Course Title:
Introduction to Information Technology

Credit Hours:
3

Course Description (Bulletin Description):
An introductory course with a focus on computer information technology. Topics include computer hardware and software, operating systems, networking, databases, and ethical issues in computing. An introduction to some programming and programming concepts is included.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. describe the history of computer systems and architecture of computer hardware. 2. describe the function and purpose of systems software including operating systems. 3. explain the role of application software, installation procedures and configuration. 4. examine technologies of computer networking and security issues associated with networking systems. 5. explain the role of mobile computing and Internet. 6. discuss concepts of databases and database management systems. 7. examine technologies in programming concepts and programming languages. 8. apply programming knowledge to edit and run simple programs. 9. discuss ethical issues in computing.

Topics Covered (In Outline/Calendar):
computer hardware, application software, operating systems, computer networking, network security, Internet, mobile computing, databases, programming concepts, and ethical issues in computing.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. (SLO4)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Ms. Bridget Cloud

Instructor-in-charge:
Ms. Bridget Cloud

Previous Professors:
Dr. Jiang Li, Dr. Yingbing Yu, Mr. Jason Lewis Hatton, Mr. Jarad Manger Sneed, Mrs. Sharon Bolander, Mr. Barry Bruster, Ms. Bridget Cloud

Technologies / Skills:
Microsoft Excel, Microsoft Access

Textbook(s):
Summer/Fall 2025
Title: TECHNOLOGY IN ACTION INTRODUCTORY
Edition: 18th
Author: EVANS
Publisher: PEARSON
ISBN: 9780137932788
========================================


None
Course Number:
CSCI 1010

Approved Starting Semester:
Fall 2021

Course Title:
Introduction to Programming I

Credit Hours:
3

Course Description (Bulletin Description):
A first course in computer programming. Students will use a high-level object-oriented programming language to design, implement, debug, and test interactive software.

Prerequisite:
None

Co-requisite:
CSCI 1011

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Use a programming language to implement, test, and debug algorithms for solving simple problems. 2. Design, implement, test, and debug programs that use each of the following fundamental programming fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, the definition of functions, and parameter passing. 3. Design and implement a class. 4. Trace the execution of a variety of code segments and write summaries of their computations. 5. Explain why the creation of correct program components is important in the production of high-quality software. 6. Conduct a personal code review (focused on common coding errors) on a program component using a provided checklist. 7. Construct and debug programs using the standard libraries available with a chosen programming language. 8. Apply consistent documentation and program style standards that contribute to the readability and maintainability of software.

Topics Covered (In Outline/Calendar):
basic computation, simple I/O, standard conditional and iterative structures, the definition of functions, parameter passing, classes and objects

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Saeid SamadiDana (Summer, Fall), Dr. Mir Hasan (Spring)

Previous Professors:
All full-time faculty, Mr. Jarad Sneed, Mr. Calvin G Bolander, Mr. Jason Hatton, [OK... everyone]

Technologies / Skills:
Java programming language

Textbook(s):
Summer/Spring 2026
Title: JAVA: AN INTRODUCTION TO PROGRAMMING AND PROBLEM SOLVING
Edition: 8th
Author: Savitch, Walter
Publisher: Pearson
ISBN: 9780134462035
========================================


None
Course Number:
CSCI 1011

Approved Starting Semester:
Fall 2021

Course Title:
Introduction to Programming I Lab

Credit Hours:
1

Course Description (Bulletin Description):
Laboratory component of Introduction to Programming I. Students will use a high-level object-oriented programming language to design, implement, debug, and test interactive software.

Prerequisite:
None

Co-requisite:
CSCI 1010

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Use a programming language to implement, test, and debug algorithms for solving simple problems. 2. Design, implement, test, and debug programs that use each of the following fundamental programming fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, the definition of functions, and parameter passing. 3. Design and implement a class. 4. Trace the execution of a variety of code segments and write summaries of their computations. 5. Explain why the creation of correct program components is important in the production of high-quality software. 6. Conduct a personal code review (focused on common coding errors) on a program component using a provided checklist. 7. Construct and debug programs using the standard libraries available with a chosen programming language. 8. Apply consistent documentation and program style standards that contribute to the readability and maintainability of software.

Topics Covered (In Outline/Calendar):
basic computation, simple I/O, standard conditional and iterative structures, the definition of functions, parameter passing, classes and objects

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Saeid SamadiDana (Summer, Fall), Dr. Mir Hasan (Spring)

Previous Professors:
All full-time faculty, Mr. Jarad Sneed, Mr. Calvin G Bolander, Mr. Jason Hatton [OK... everyone]

Technologies / Skills:
Java programming language

Textbook(s):
Summer/Spring 2026
Title: JAVA: AN INTRODUCTION TO PROGRAMMING AND PROBLEM SOLVING
Edition: 8th
Author: Savitch, Walter
Publisher: Pearson
ISBN: 9780134462035
========================================


None
Course Number:
CSCI 1017

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Introduction to Python Programming

Course Description (Bulletin Description):
Introduction to programming with the Python language. Topics include basic input/output, mathematical calculation, graphics, strings, files, functions, decision structures, loop structures, and Booleans.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. James Church, Dr. John Nicholson, Dr. Leong Lee

Technologies / Skills:
Python programming language

Textbook(s):
Textbook information not available.
========================================


None
Course Number:
CSCI 1300

Approved Starting Semester:
Fall 2021

Course Title:
Introduction to Web Development

Credit Hours:
3

Course Description (Bulletin Description):
Introduction to web development using HTML, CSS, and JavaScript. Topics include creating page layouts using HTML, using CSS to style pages, responsive web design, JavaScript data types, and manipulating the DOM.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Plan site content and navigational structure. 2. Create and test a website locally using a text editor. 3. Design and develop web pages that utilize CSS Style Rules and HTML to create typography, hyperlinks, lists, tables, forms, images, and menus. 4. Interpret the meaning of colors based on hexadecimal and produce colors defined in hexadecimal. 5. Test HTML and CSS code to determine if the code conforms to modern standards, including accessibility standards. 6. Develop JavaScript code that interacts with HTML forms and manipulates the DOM. 7. Explain the uses and the differences of JavaScript number and string data types. 8. Apply consistent documentation and code style standards that contribute to readability and maintainability.

Topics Covered (In Outline/Calendar):
HTML tags, standards, page layouts, displaying images, creating lists, links, tables, forms, menus, CSS, colors, accessibility, responsive web design, using JavaScript for interacting with forms.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Ms. Bridget Cloud

Previous Professors:
Dr. Jiang Li, Dr. Leong Lee, Dr. Yingbing Yu, Dr. Alice Lin, Dr. John Nicholson, Mr. Antonio Leon McCutchen, Ms. Bridget Cloud, Mr. Jason Hatton

Technologies / Skills:
HTML / CSS / JavaScript

Textbook(s):
Summer/Spring 2025
Title: Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics
Edition: 5th
Author: Robbins
Publisher: O'Reilly
ISBN: 9781491960202
========================================


None
Course Number:
CSCI 1899

Approved Starting Semester:
Fall 2021

Course Title:
Undergraduate Work Experience

Credit Hours:
1

Course Description (Bulletin Description):
Students will have a computer-related work assignment in a business environment. Students will document their experience according to standards established by the department. Students may repeat the course up to a total of 12 hours credit upon approval of the department chair.

Prerequisite:
Permission of department chair

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Ability to apply information in detailed business applications. 2. Ability to manage and work with business information. 3. Ability to use business data to support decision making. 4. Ability to supply management information as requested.

Topics Covered (In Outline/Calendar):
This course is needed to supply credit for students in various employment situations but especially for international students who take advantage of the CPT (Curricular Practical Training) Program

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. Leong Lee

Previous Professors:
Dr. Nicholas Coleman, Dr. James Church, Dr. Leong Lee

Technologies / Skills:
Work experience

Textbook(s):
Textbook information not available.
========================================


Course Number:
CSCI 2000

Approved Starting Semester:
Fall 2024

Course Title:
Programming for STEM

Course Description (Bulletin Description):
This course is an introduction to computer programming for students in STEM-related disciplines. Course material ranges from introductory topics such as how computers represent numbers to more advanced topics such as object-oriented programming and data structures.

Prerequisite:
Permission of instructor

Co-requisite:
None

Pre/Co-requisite::
Math 1910

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Use a programming language to implement, test, and debug algorithms for solving simple problems. 2. Design, implement, test, and debug programs that use each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, functions and parameter passing. 6. Construct and debug programs using the standard libraries and built-in data structures available with a chosen programming language. 8. Apply consistent documentation and program style standards that contribute to the readability and maintainability of software. 2. Identify the data components and behaviors of multiple abstract data types. 3. Write programs that use each of the following data structures: files, arrays and lists, records/structs, strings, stacks, and queues. 4. Choose the appropriate data structure for modeling a given problem. 7. Design and implement a class. 8. Use subclassing to design simple class hierarchies that allow code to be reused for distinct subclasses.

Topics Covered (In Outline/Calendar):
basic computation, console and file I/O, standard conditional and iterative structures, the definition of functions, parameter passing, arrays and lists, strings, records/structs, stacks, queues, standard libraries, built-in data structures, common coding errors that lead to insecure programs, object oriented programming

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
N.A.

Technologies / Skills:
Python programming language, Linux OS

Textbook(s):
No texbook required
========================================


None
Course Number:
CSCI 2010

Approved Starting Semester:
Fall 2021

Course Title:
Introduction to Programming II

Credit Hours:
3

Course Description (Bulletin Description):
Continuation of CSCI 1010. Students will learn to use object-oriented design, exception handling, recursive programming, and standard data structures to design, implement, test and debug software.

Prerequisite:
CSCI 1010/CSCI 1011 with a C or better.

Co-requisite:
CSCI 2011

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Implement, test, debug, and describe simple recursive functions and procedures. 2. Identify the data components and behaviors of multiple abstract data types. 3. Write a program that uses file I/O to provide persistence across multiple executions. 4. Choose the appropriate data structure for modeling a given problem. 5. Identify common coding errors that lead to insecure programs (e.g., buffer overflows, memory leaks, malicious code) and apply strategies for avoiding such errors. 6. Construct and debug programs using the standard libraries and built-in data structures available with a chosen programming language. 7. Design and implement a class. 8. Use subclassing to design simple class hierarchies that allow code to be reused for distinct subclasses. 9. Correctly reason about control flow in a program using dynamic dispatch. 10. Build robust code using exception handling mechanisms.

Topics Covered (In Outline/Calendar):
• classes, objects, and methods • arrays • inheritance and polymorphism • exception handling • file I/O • recursion • array-based and linked data structures

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Hasan

Instructor-in-charge:
Dr. Hasan (Summer, Fall), Dr. Saeid SamadiDana (Spring)

Previous Professors:
All full-time faculty, Mr. Jarad Sneed, Mr. Todd Young, Mr. Jason Hatton [OK... almost everyone]

Technologies / Skills:
Java programming language

Textbook(s):
Summer/Fall 2025
Title: Java: An Introduction to Problem Solving and Programming
Edition: 8th
Author: Savitch, Walter
Publisher: Pearson
ISBN: 9780134462035
========================================


None
Course Number:
CSCI 2011

Approved Starting Semester:
Fall 2021

Course Title:
Introduction to Programming II Lab

Credit Hours:
1

Course Description (Bulletin Description):
Laboratory component of Introduction to Programming II. Students will learn to use object-oriented design, exception handling, recursive programming, and standard data structures to design, implement, test and debug software.

Prerequisite:
CSCI 1010 / 1011 with a grade of "C" or higher

Co-requisite:
CSCI 2010

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Implement, test, debug, and describe simple recursive functions and procedures. 2. Identify the data components and behaviors of multiple abstract data types. 3. Write a program that uses file I/O to provide persistence across multiple executions. 4. Choose the appropriate data structure for modeling a given problem. 5. Identify common coding errors that lead to insecure programs (e.g., buffer overflows, memory leaks, malicious code) and apply strategies for avoiding such errors. 6. Construct and debug programs using the standard libraries and built-in data structures available with a chosen programming language. 7. Design and implement a class. 8. Use subclassing to design simple class hierarchies that allow code to be reused for distinct subclasses. 9. Correctly reason about control flow in a program using dynamic dispatch. 10. Build robust code using exception handling mechanisms.

Topics Covered (In Outline/Calendar):
• classes, objects, and methods • arrays • inheritance and polymorphism • exception handling • file I/O • recursion • array-based and linked data structures

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Hasan

Instructor-in-charge:
Dr. Hasan (Summer, Fall), Dr. Saeid SamadiDana (Spring)

Previous Professors:
All full-time faculty, Mr. Jarad Sneed, Mr. Todd Young, Mr. Jason Hatton [OK... almost everyone]

Technologies / Skills:
Java programming language

Textbook(s):
Summer/Fall 2025
Title: Java: An Introduction to Problem Solving and Programming
Edition: 8th
Author: Savitch, Walter
Publisher: Pearson
ISBN: 9780134462035
========================================


None
Course Number:
CSCI 2500

Approved Starting Semester:
Fall 2022

Course Title:
Discrete Structures

Course Description (Bulletin Description):
An introduction to discrete mathematical concepts and their practical applications to computing.

Prerequisite:
(C or better in CSCI 1010 or C or better in CSCI 2000) and MATH 1530

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Perform the operations associated with sets, functions, and relations. 2. Convert logical statements from informal language to propositional and predicate logic expressions. 3. Use the rules of inference to construct proofs in propositional and predicate logic. 4. Apply each of the proof techniques (direct proof, proof by contradiction, and induction) correctly in the construction of a sound argument. 5. Apply counting arguments, including sum and product rules, inclusion-exclusion principle and arithmetic/geometric progressions. 6. Compute permutations and combinations of a set, and interpret the meaning in the context of the particular application. 7. Perform computations involving modular arithmetic. 8. Illustrate by example the basic terminology of graph theory, as well as some of the properties and special cases of each type of graph/tree. 9. Calculate probabilities of events and expectations of random variables for elementary problems such as games of chance. 10. Determine informally the time and space complexity of simple algorithms.

Topics Covered (In Outline/Calendar):
• Sets, relations, and functions • Basic logic • Proof techniques • Basics of counting • Graphs and trees • Discrete Probability • Algorithms and complexity

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Nicholas Coleman

Technologies / Skills:
Discrete Mathematics

Textbook(s):
Summer/Spring 2026
Title: Discrete Mathematics
Edition: 8th
Author: Richard Johnsonbaugh
Publisher: Pearson
ISBN: 9780321964687
========================================


None
Course Number:
CSCI 2600

Approved Starting Semester:
Fall 2021

Course Title:
Computer Ethics

Credit Hours:
3

Course Description (Bulletin Description):
Study and analysis of the social, legal and ethical issues that arise from the presence of computers in society. Problems are posed and solutions discussed from the viewpoint of the computer professional. Topics include computer viruses, spyware, spam, life-critical systems and privacy issues.

Prerequisite:
CSCI 1005 or 1010 or 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Understand the social, legal, and ethical issues within the computing technology 2. Analyze the impacts that computer and communication technology places on individuals, organizations and society 3. 3. Discuss, propose, and refute ethical and legal issues relating to information technology from the aspect of professional member in the technological community

Topics Covered (In Outline/Calendar):
• Privacy • Protecting Privacy • Freedom of Speech • Intellectual Property • Crime • Security • Work ethics • Evaluating Technology • Controlling Technology • Errors, Failures and Risks • Professional Ethics

Student Learning Outcomes:
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. (SLO4)
Course Coordinator:
Dr. Saeid SamadiDana

Instructor-in-charge:
Mr. Wayne D. Crary (Spring), Dr. Saeid SamadiDana (Fall, Summer)

Previous Professors:
Mr. Leonard Tharpe, Dr. Saeid SamadiDana, Mr. Wayne D. Crary, Mr. Calvin Bolander, Mr. Jarad Sneed

Technologies / Skills:
Ethical issues

Textbook(s):
Summer/Spring 2026
Title: GIFT OF FIRE
Edition: 5TH 18
Author: BAASE
Publisher: PEARSON
ISBN: 9780134615271
========================================


None
Course Number:
CSCI 2700

Approved Starting Semester:
Fall 2021

Course Title:
Data Communications and Networking

Credit Hours:
3

Course Description (Bulletin Description):
Fundamental concepts, definitions and theory of telecommunications and networking with practical applications. Special emphasis is on Internet Technology including the study of TCP/IP protocols. Other topics include LAN and WAN management, security and quality of service issues.

Prerequisite:
CSCI 1005 or CSCI 1010 or CSCI 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Understand corporate computer networks and data communications. 2. Understand the fundamental building blocks of modern networks such as protocols, media, topologies and hardware. 3. Explain the role of each layer in the Internet. 4. Understand the client/server model and application layer protocols. 5. Become familiar with layered communication architectures (OSI and TCP/IP). 6. Use networking tools to observe and analyze behaviors of networking protocols 7. Understand the essential principles of a transport layer protocol (reliable data transfer, flow control, congestion control) 8. Learn the principles of routing and the details of IP protocol. 9. Use IP addressing and apply routing algorithms to find shortest paths 10. Understand the basics of error detection including parity, checksums, and CRC. 11. Describe and compare data link layer services and multiple access techniques 12. Knowledge of security issues, network management, and/or other topics.

Topics Covered (In Outline/Calendar):
General Introduction of Computer Network and the Internet, The Application Layer, The Transport Layer, The Network Layer: Data Plane and Control Plane, The Link Layer and LANs

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Kriti Chauhan

Instructor-in-charge:
Dr. Kriti Chauhan

Previous Professors:
Dr. James Church, Dr. Jiang Li, Dr. Yingbing Yu, Mr. Barry Bruster, Dr. Kriti Chauhan, Dr. James Church, Mr. John Wood, Mr. Jarad Sneed

Technologies / Skills:
Computer Networking

Textbook(s):
Spring 2026
Title: COMPUTER NETWORKING: A TOP-DOWN APPROACH
Edition: 8TH
Author: KUROSE
Publisher: PEARSON
ISBN: 9780136681557
========================================


None
Course Number:
CSCI 3005

Approved Starting Semester:
Fall 2023

Course Title:
Graphical User Interfaces

Course Description (Bulletin Description):
An introduction to designing graphical user interfaces (GUI) using modern languages and libraries. Covers GUI widgets and layout, as well as how to respond to events caused by interaction with the components.

Prerequisite:
CSCI 2000 or 2010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Design a graphical user interface using static design files. 2. Create and manage dynamic user interfaces using a programming language. 3. Identify and use common widgets, e.g., buttons, text fields, and menus. 4. Differentiate between and use modal and non-modal windows. 5. Respond to events caused by a user interacting with the user interface. 6. Determine when and how to use background threads when necessary to handle resource intensive tasks. 7. Apply object-oriented programming techniques to user interface design and application development.

Topics Covered (In Outline/Calendar):
• Static GUI design • Dynamic GUI design using programmatic approaches • Widgets such as buttons, windows, menus, etc. • Layout widgets for positioning widgets on screen • Dialog boxes • Modal vs non-modal windows • Multi-window applications • Background threads in GUI applications for resource intensive tasks • Event handling • Error checking for user-supplied data

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. Nicholson

Previous Professors:
Dr. Jiang Li, Dr. James Church, Dr. Saeid SamadiDana, Dr. Mir Hasan

Technologies / Skills:
GUI widgets and layout, events interaction, Java

Textbook(s):
Fall 2024
Title: Learn JavaFX 17: Building User Experience and Interfaces with Java
Eddition: 2nd
Author: Kishori Sharan and Peter Späth
Publisher: Apress
ISBN: 9781484278475
========================================


None
Course Number:
CSCI 3090

Approved Starting Semester:
Fall 2021

Course Title:
Parallel Programming

Credit Hours:
3

Course Description (Bulletin Description):
This course introduces the fundamentals of parallel programming and computing implemented in the shared and distributed system models. Course covers primarily programming of multithreaded applications using threads and OpenMP; other topics discussed include: implementing parallel algorithms, serial versus parallel algorithm performance, and MPI.

Prerequisite:
( CSCI 2010 and CSCI 2011 ) or CSCI 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Define terminology commonly used in parallel computing, such as efficiency and speedup. 2. Given a problem, develop an efficient parallel algorithm to solve it. 3. Given a parallel algorithm, implement it using threads, OpenMP, or for some cases MPI. 4. Given a parallel code, analyze its performance and optimize the performance of the code. 5. Given a parallel code, debug it and fix the errors. 6. Given a problem, implement an efficient and correct code to solve it, analyze its performance, and give convincing written and oral presentations explaining your achievements.

Topics Covered (In Outline/Calendar):
• Parallel Hardware and Software • Introduction to Threads • OpenMP programming • MPI architectures & programming • CUDA Programming

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
None

Instructor-in-charge:
None

Previous Professors:
None

Technologies / Skills:
Parallel programming, OpenMP API, C++ programming language (may change)

Textbook(s):
Summer 2020
Title: AN INTRODUCTION TO PARALLEL PROGRAMMING
Edition: 1ST
Author: PACHECO
Publisher: KAUFMANN
ISBN: 9780123742605
========================================


None
Course Number:
CSCI 3250

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Data Structures and Algorithms

Course Description (Bulletin Description):
Advanced data structures and their computer implementation. Binary trees, general trees, graphs, sorting algorithms, merging algorithms, hash codes, hash tables, file and memory allocation procedures.

Prerequisite:
CSCI 2000 or 2010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Saeid SamadiDana

Instructor-in-charge:
Dr. Saeid SamadiDana

Previous Professors:
Dr. John Nicholson, Dr. Nicholas Coleman, Dr. James Church

Technologies / Skills:
Data structure and algorithms theories

Textbook(s):
Summer/Spring 2026
Title: DATA STRUCTURES+ALGORITHM
Edition: 3RD 11
Author: SHAFFER
Publisher: DOVER
ISBN: 9780486485812
========================================


None
Course Number:
CSCI 3300

Approved Starting Semester:
Fall 2021

Course Title:
Client-Side Web Development

Credit Hours:
3

Course Description (Bulletin Description):
This class introduces students to creating interactive and dynamic web-pages using the three core technologies of the modern web: HTML, CSS, and JavaScript. Topics will include areas such as form validation, DOM manipulation, and single page applications.

Prerequisite:
CSCI 1010 with a grade of "C" or higher, or CSCI 1300 with a grade of "C" or higher, or CSCI 2000 with a grade of "C" or higher

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Plan site content and navigational structure. 2. Create and test a website locally using a text editor. 3. Design and develop web pages that utilize CSS Style Rules and HTML to create hyperlinks, forms, and images using grid and flex layouts. 4. Test HTML and CSS code to determine if the code conforms to modern standards, including accessibility standards. 5. Develop JavaScript code that interacts with HTML forms and manipulates the DOM. 6. Apply consistent documentation and code style standards that contribute to readability and maintainability. 7. Identify and apply JavaScript programming concepts such as data validation, variables, data types, operators, loops, arrays control structures, and functions. 8. Create a single page application using a modern JavaScript framework. 9. Test and debug JavaScript web applications.

Topics Covered (In Outline/Calendar):
HTML5, CSS, JavaScript, standards, accessibility, forms, variables, data types, operators, loops, arrays, functions, control structures, Document Object Model, single page applications, frameworks.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Ms. Bridget Cloud

Instructor-in-charge:
Ms. Bridget Cloud

Previous Professors:
Dr. Jiang Li, Dr. Leong Lee, Dr. Yingbing Yu, Dr. Gary L Griffith, Dr. Alice Lin, Dr. John Nicholson, Dr. James Church, Dr. Kriti Chauhan, Ms. Bridget Cloud, Dr. Kriti Chauhan

Technologies / Skills:
HTML, CSS, JavaScript programming

Textbook(s):
Summer/Spring 2024
No Textbook Required
========================================


None
Course Number:
CSCI 3350

Approved Starting Semester:
Fall 2021

Course Title:
User Experience Design

Credit Hours:
3

Course Description (Bulletin Description):
This course covers user experience design in the form of a combination of design principles, tools, methods, and frameworks, with which students can solve design problems in a principle-centered way. While focusing on the users of computer hardware and software, human-centered design principles are introduced for a chosen application domain, focusing on user experiences, and effective user interface design based on universal design principles and current computing technologies.

Prerequisite:
CSCI 1010 or CSCI 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Describe and apply the user experience design principles emphasizing alignment, proximity, contrast, and repetition. 2. Acquire and apply the skill of sketching as a process for user experience design. 3. Analyze human factors in design and apply universal design principles in an application domain. 4. Apply and demonstrate the appropriate use of effective interface design principles, human-centered evaluation, and interface prototyping process for user interface design and development. 5. Analyze a real-life user experience design problem, and apply a user-centered process to solve the problem, by using design principles and current computing technologies.

Topics Covered (In Outline/Calendar):
• User experience design principles • Human factors in design • Human-centered evaluations • Design effective user interfaces through sketching and current computing technologies • Tools and skills for an application domain • A real-life user experience design problem, process, and portfolio

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. Leong Lee

Previous Professors:
Dr. Leong Lee

Technologies / Skills:
Design principles, User Experience Design, Adobe Dreamweaver, Adobe Photoshop

Textbook(s):
Summer/Spring 2026
---------------------------------
Title: PRINCIPLES OF BEAUTIFUL WEB DESIGN
Edition: 4th, 2020
Author: BEAIRD
Publisher: INGRAM PUB
ISBN: 978-1925836363
---------------------------------
Title: NON-DESIGNER'S DESIGN BOOK
Edition: 4TH 14
Author: WILLIAMS
Publisher: PEARSON
ISBN: 978-0133966152
---------------------------------
Title: ADOBE PHOTOSHOP CC CLASSROOM IN A BOOK (2024)
Edition: 1st Edition (December 23, 2023)
Author: Chavez
Publisher: Adobe Press (Peachpit, Pearson)
ISBN: 978-0138262525
---------------------------------
Title: ADOBE DREAMWEAVER CLASSROOM IN A BOOK: 2022 RELEASE
Edition: 1st Edition (February, 2022)
Author: MAIVALD
Publisher: Adobe Press (Peachpit, Pearson)
ISBN: 978-0137623303
========================================


None
Course Number:
CSCI 3400

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Computer Organization I

Course Description (Bulletin Description):
Basic digital circuits, Boolean algebra and combinatorial logic, data representation and transfer, digital arithmetic, digital storage and accessing, control functions, input/output facilities, system organization and reliability, computer structure and programming at the machine language and assembler language level.

Prerequisite:
CSCI 2000 or 2010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Alice Lin

Instructor-in-charge:
Dr. Alice Lin

Previous Professors:
Dr. Alice Lin, Dr. James Church

Technologies / Skills:
Computer organization theories

Textbook(s):
Spring/Summer 2026
---------------------------------
Title: Computer Organization and Design RISC-V Edition
Edition: 2nd
Author: David Patterson and John Hennessy
Publisher: Morgan Kaufmann
ISBN: 9780128203316
---------------------------------
Title: The Essentials of Computer Organization and Architecture
Edition: 5th
Author: Null, Lobur
Publisher: Jones & Bartlett
ISBN: 9781284123036
========================================


None
Course Number:
CSCI 3410

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Computer Organization II

Course Description (Bulletin Description):
Continuation of 3400. Continued study of micro-processors, advanced logic design, sequential circuits, digital and switching waveforms, encoding of information, number representation and arithmetic, logical operations, computer architecture for very large and very small computer systems, memory systems, and CPU design.

Prerequisite:
CSCI 3400

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (SLO5)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Alice Lin

Instructor-in-charge:
Dr. Alice Lin

Previous Professors:
Dr. Jiang Li

Technologies / Skills:
Computer organization theories

Textbook(s):
Summer 2023
Title: Assembly Language for x86 Processors
Edition: 8th
Author: Irvine
Publisher: Pearson
ISBN: 9780135381656
========================================


None
Course Number:
CSCI 3500

Approved Starting Semester:
Fall 2018

Course Title:
Automata Theory and Formal Languages

Credit Hours:
3

Course Description (Bulletin Description):
Introduction to the theory of automata and formal languages. Topics include regular expressions, grammars, deterministic and nondeterministic finite automata, stack-based automata, Turing machines, and undecidable problems.

Prerequisite:
CSCI 3400 or MATH 3000

Co-requisite:
None

Pre/Co-requisite::
None

Course Objectives (Course-level Student Learning Outcomes):
Upon completion of the course students should be able to: 1. Design and manipulate deterministic and nondeterministic finite automata. 2. Write regular expressions that match a given set of strings. 3. Compose a context-free grammar that generates a given language. 4. Build stack machines that correspond to a given context-free grammar. 5. Create Turing machines that perform simple computational tasks. 6. Reason about various properties of formal languages and automata.

Topics Covered (In Outline/Calendar):
Topics include: 1. Deterministic and nondeterministic finite automata 2. Regular expressions 3. Regular and context-free grammars 4. Stack-based automata 5. Turing machines 6. Undecidability

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Nicholas Coleman

Technologies / Skills:
Automata theories

Textbook(s):
Spring 2022
Title: Formal Languages: A Practical Introduction
Edition: 1st
Author: Null
Publisher: Franklin, Beedle & Associates
ISBN: 978159028197
========================================


None
Course Number:
CSCI 3550

Approved Starting Semester:
Fall 2024

Course Title:
Introduction to Game Development

Course Description (Bulletin Description):
This course introduces state of the art techniques for computer game design and development with an emphasis on the 2D and 3D graphics and interaction through practical, example driven approaches of game development.

Prerequisite:
CSCI 2000 or CSCI 1010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Upon completion of the course, students will be able to: - Describe the comprehensive process and roles within the video game development process - Use 2D game sprites and animation in the context of game development - Create and use models, materials, and textures within a game - Develop and apply collision detection methods for 2D and 3D games - Apply lights and cameras - Apply particle systems - Create and use terrain and environments - Develop basic games using industry-standard game development tools

Topics Covered (In Outline/Calendar):
* Video game development process * 2D game sprite and animation, * models, materials and textures * collision detection * lighting * particle systems * terrain and environments * Industry standard game development tools

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Alice Lin

Instructor-in-charge:
Dr. Alice Lin

Previous Professors:
Dr. James Church, Dr. Alice Lin

Technologies / Skills:
Unity C# Game Programming

Textbook(s):
Summer/Fall 2025
Title: HANDS-ON UNITY 2021 GAME DEVELOPMENT
Edition: 2ND
Author: BORROMEO
Publisher: PACKT
ISBN: 9781801071482

========================================


None
Course Number:
CSCI 3770

Approved Starting Semester:
Fall 2021

Course Title:
Windows Server Administration

Credit Hours:
3

Course Description (Bulletin Description):
This course covers the fundamental Windows system administration and Windows network administration principles. Topics covered include: directory structures, file management, user management, domains, group policy, networking services provided as part of Windows, including IIS, RRAS, DNS, WINS, and DHCP.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain key features and versions of different Windows Server systems. 2. Understand about server roles and server installation. 3. Understand storage technologies and configure storage on Windows Server. 4. Understand IP addressing, subnetting, and configuring TCP/IP network protocol. 5. Understand Microsoft Hyper-V virtualization technology, install and configure Hyper-V server role. 6. Create and manager virtual machines, virtual hard disks and virtual network in a Hyper-V environment. 7. Deploy and manage active directory, user accounts, permissions, and security policies. 8. Apply and configure Group Policy for managing desktop and server environment. 9. Install, configure, and troubleshoot various Windows Server services such as DNS, DHCP, Remote Access, VPNs. 10. Understand the role of networking software, installation procedures and configuration.

Topics Covered (In Outline/Calendar):
Active directory and domains, file permissions, IP addressing, Hyper-V, users and groups, group policy, security policy, networking services including DNS, DHCP, RRAS

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Jiang Li, Dr. Yingbing Yu

Technologies / Skills:
Windows network administration

Textbook(s):
Spring 2026
MCA Windows Server Hybrid Administrator Complete Study Guide with 400 Practice Test Questions: Exam AZ-800 and Exam AZ-801
Edition:
Author: William Panek
Publisher: WILEY
ISBN: 9781394155415
========================================


None
Course Number:
CSCI 3870

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Wireless Communication and Networking

Course Description (Bulletin Description):
This course covers data communications as well as voice communications in wireless networks. Topics covered include: wireless standards in data and voice communications, radio frequency technologies, wireless LAN hardware and software, wireless network design, installation and management including security and site surveys.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Wireless network

Textbook(s):
Summer 2025
Title: CWNA GUIDE TO WIRELESS LANS
Edition: 3RD
Author: CIAMPA
Publisher: CENGAGE
ISBN: 9781133132172
========================================


None
Course Number:
CSCI 3900

Approved Starting Semester:
Fall 2022

Course Title:
Internship

Course Description (Bulletin Description):
Designed to provide academic credit for meaningful computer-related experience gained while working in a business or industry. Satisfactory employer evaluation and detailed written documentation of the work performed is required.

Prerequisite:
Permission of department chair

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. 2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. 3. Communicate effectively in a variety of professional contexts.

Topics Covered (In Outline/Calendar):
real-world experience in a work setting

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Communicate effectively in a variety of professional contexts. (SLO3)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. Leong Lee, Mr. Barry Bruster, Dr. James Church, Dr. John Nicholson

Technologies / Skills:
Work experience

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 4000

Approved Starting Semester:
Fall 2024

Course Title:
Server-side Web Development

Course Description (Bulletin Description):
This course covers the server-side development of web-based platforms. A server-side language will be used to respond to client-side data requests and generate dynamic results. The course will also cover reading from and writing to a database as part of server-side functionality.

Prerequisite:
CSCI 3300

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5060

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Apply programming concepts such as functions, data types, operators, and control structures in a server-side language. 2. Generate dynamic HTML, CSS, and data using a server-side language 3. Understand the different types of HTTP requests and respond appropriately in code. 4. Use standard design patterns to organize server-side code. 5. Design and develop database-driven web applications.

Topics Covered (In Outline/Calendar):
Web development with a server-side programming language Server-side programming language statements, control statements, arrays, data types, functions, objects Sending data from web forms to/from a back-end database Database for web application development Web-based design patterns Database-driven dynamic web applications. * Data validation * Dynamically generate HTML

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. Leong Lee

Previous Professors:
Dr. Leong Lee, Dr. John Nicholson, Dr. Gary L Griffith

Technologies / Skills:
PHP programming, Apache Web Server, MySQL/MariaDB Database, AJAX

Textbook(s):
Summer/Spring 2026
Title: MURACH'S PHP+MYSQL
Edition: 4th Edition
Author: MURACH
Publisher: MURACH
ISBN: 9781943873005
========================================


None
Course Number:
CSCI 4010

Approved Starting Semester:
Fall 2024

Course Title:
Mobile Software Development

Course Description (Bulletin Description):
An introduction to application development for small, mobile devices such as cell phones and smart phones. The class will examine topics including user interface design, application portability, web protocols, data storage, and security on platforms such as Android and iOS. All software development will be for the Android platform.

Prerequisite:
CSCI 2010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Develop apps for the Android operating system. 2. Design and develop apps using the Kotlin programming language. 3. Design and implement static user interfaces with design tools and dynamic interfaces with a programming language. 4. Design and implement user interfaces that work on a variety of devices. 4. Identify and use various user interface widgets, such as buttons, text fields, and scrolling. 5. Apply advanced programming concepts such as inner classes, threads, network access, and event-driven programming.

Topics Covered (In Outline/Calendar):
• Android operating system (OS) and software development kit (SDK) • Mobile device simulators and emulators • Kotlin programming language • Event-driven programming • threading • inner classes • network access • Mobile user interfaces • User interface design • Network-based applications • Android Studio • Data storage • Extensible Markup Language (XML) • Mobile application security • Comparison of iOS and Android environments

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. John Nicholson

Technologies / Skills:
Java programming, mobile app development for Android devices / phones

Textbook(s):
No textbook Required.
========================================


None
Course Number:
CSCI 4015

Approved Starting Semester:
Fall 2025

Course Title:
Data Science

Course Description (Bulletin Description):
This course introduces scientific data methods, processes, and systems used to analyze and extract knowledge from structured and unstructured data. It covers the basics of data manipulation, cleaning techniques, processing, and visualization using modern data science libraries for data analysis.

Prerequisite:
CSCI 2010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5015

Course Objectives (Course-level Student Learning Outcomes):
By the end of the courses, students will be able to • Use a programming language along with data science libraries to process data. • Use a data science-appropriate environment to help process, visualize, and analyze data. • Read and clean data from structured and unstructured data files. • Write processed data to external data files in standard formats. • Manipulate data so that valuable information can be extracted. • Produce meaningful visualizations of data. • Apply basic statistical and machine learning algorithms for data analysis.

Topics Covered (In Outline/Calendar):
• Applying programming to data science • Environments for data science processing • File formats • Structured and unstructured data • File reading and writing • Data cleaning techniques • Statistical analysis of data • Data visualization • Machine learning algorithms

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Alice Lin

Instructor-in-charge:
Dr. Alice Lin

Previous Professors:
Dr. James Church, Dr. John Nicholson, Dr. Alice Lin

Technologies / Skills:
Python programming, data mining, machine learning

Textbook(s):
Spring 2026
Title: Python for Data Analysis
Edition: 3rd
Author: McKinney
Publisher: O'Reilly
ISBN: 9781098104030
========================================


None
Course Number:
CSCI 4018

Approved Starting Semester:
Fall 2023

Course Title:
Cloud Computing

Course Description (Bulletin Description):
An overview of cloud computing ecosystems, platforms, and methods of application development and deployment. Students will be introduced to basic cloud concepts including service, platforms, and approaches to distributed processing and data storage. Students will gain experience developing cloud-based applications.

Prerequisite:
CSCI 2010 or CSCI 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Identify and evaluate the major providers providing cloud services and platforms. 2. Identify and choose hardware and software used in cloud infrastructure. 3. Design and use different approaches for storing data in the cloud. 4. Recognize and discuss security risks present in the cloud 5. Demonstrate and apply different techniques for managing and scheduling cloud resources 6. Configure, develop, and deploy cloud-based data, tools and applications

Topics Covered (In Outline/Calendar):
• Cloud ecosystem • Distributed computing in the cloud • Cloud-related hardware and software • Resource virtualization • Cloud-related network issues • Data storage in the cloud • Cloud security issues • Resource management and scheduling • Concurrency in the cloud • Cloud-based application development, deployment, and configuration

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. (SLO4)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. Nicholas Coleman, Dr. John Nicholson

Technologies / Skills:
Application development for the cloud

Textbook(s):
Fall 2024
Title: Cloud Computing: Concepts, Technology, Security, and Architecture
Edition: 2nd Edition
Author: Thomas Erl, Eric Monroy
Publisher: Pearson
ISBN: 9780138052256
========================================


None
Course Number:
CSCI 4050

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Multimedia Tools and Techniques

Course Description (Bulletin Description):
This course provides the student with hands-on experience using current versions of popular multimedia software on the PC. Static and dynamic images are created, manipulated, and integrated into applications. Video conferencing, and streaming audio and video are also examined. Three hours per week.

Prerequisite:
CSCI 3300

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Mr. Jason Lewis Hatton

Previous Professors:
Dr. Jiang Li, Mr. Jason Lewis Hatton, Dr. Mir Hasan, Mr. Barry Bruster

Technologies / Skills:
Adobe Photoshop, Adobe Premiere, Adobe illustrator

Textbook(s):
Summer/Spring 2025
Title: MULTIMEDIA FOUNDATIONS
Edition: 2ND 17
Author: COSTELLO
Publisher: TAYLOR
ISBN: 9780415740036
========================================


None
Course Number:
CSCI 4100

Approved Starting Semester:
Fall 2022

Course Title:
Operating Systems and Architecture

Course Description (Bulletin Description):
This course provides an overview of the principles and practical aspects of operating systems. Students will learn how operating systems provide virtualization, concurrency, and persistent storage and apply these concepts in systems programming assignments.

Prerequisite:
CSCI 3400

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Explain the objectives and functions of modern operating systems. 2. Analyze the tradeoffs inherent in operating system design. 3. Describe how computing resources are used by application software and managed by system software. 4. Describe the need for concurrency within the framework of an operating system. 5. Summarize techniques for achieving synchronization in an operating system. 6. Compare and contrast the common algorithms used for both preemptive and non-preemptive scheduling of tasks in operating systems, such as priority, performance comparison, and fair-share schemes. 7. Summarize the principles of virtual memory as applied to caching and paging. 8. Articulate the need for protection and security in an OS. 9. Describe the choices to be made in designing file systems. 10. Explain the relevance of the terms fault tolerance, reliability, and availability.

Topics Covered (In Outline/Calendar):
modern operating systems, operating system design, computing resource allocation and management, concurrency in operating systems, synchronization techniques, preemptive task scheduling, non-preemptive task scheduling, virtual memory caching and paging, os security, file system design, fault tolerance, reliability, availability

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Leong Lee, Dr. Nicholas Coleman

Technologies / Skills:
Operating Systems theories

Textbook(s):
Summer/Fall 2025
Title: OPERATING SYSTEMS
Edition: 2ND 14
Author: ANDERSON
Publisher: INGRAM
ISBN: 9780985673529
========================================


None
Course Number:
CSCI 4200

Approved Starting Semester:
Fall 2021

Course Title:
Principles of Information Security

Credit Hours:
3

Course Description (Bulletin Description):
This course is an introduction to the technical and management aspects of information security and assurance. The course provides a foundation in understanding issues associated with security in computing including security threats and controls, protection of computer systems and data, use of technology such as firewalls, cryptography, and intrusion detection systems, response to security incidents, laws and ethics relating to information security, and an overview of the development of an Information Security Plan.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5200

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Develop skills of inquiry, abstract and logical thinking, and critical analysis of information security issues and practices 2. Understand and prioritize information assets 3. Recognize vulnerabilities and strategies for securing networked computer systems in a global environment 4. Identify tools and techniques for combating threats to information assets 5. Describe legal and ethical implications of security and privacy issues 6. Understand risk management 7. Define an information security strategy and architecture

Topics Covered (In Outline/Calendar):
a. Intro Security and Security Trends b. General Security Concepts c. Operational and Organizational Security d. The Role of People in Security e. Cryptography f. Public Key Infrastructure g. Standards and Protocol h. Physical Security i. Network Fundamentals j. Infrastructure Security k. Authentication and Remote Access l. Wireless Security m. Intrusion Detection Systems n. Baselines o. Types of Attacks and Malware p. Secure Software Development q. Email and IM r. Web Components s. Disaster Recovery, Business Continuity t. Risk Management u. Change Management v. Privilege Management w. Computer Forensics x. Legal Issues and Ethics y. Privacy

Student Learning Outcomes:
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (SLO5)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Mr. Stephen Thomas Paulk-Mcginley, Mr. Barry Bruster, Dr. Mir Hasan, Dr. James Church

Technologies / Skills:
Information security theories

Textbook(s):
Summer/Spring 2026
Title: CompTIA Security+ Certification Kit: Exam SY0-701 (Sybex Study Guide)
Edition: 7TH
Author: Chapple
Publisher: Sybex
ISBN: 978-1394211449
========================================


None
Course Number:
CSCI 4230

Approved Starting Semester:
Fall 2022

Course Title:
Programming Languages

Course Description (Bulletin Description):
This course provides an overview of the principles and practical aspects of programming languages. Students will learn how programming languages are designed and implemented and will complete programming assignments using different languages and programming paradigms.

Prerequisite:
CSCI 3250

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Generate a regular expression to represent a specified language. 2. Design a context-free grammar to represent a specified language. 3. Explain how typing rules define the set of operations that are legal for a type. 4. Discuss the differences among generics, subtyping, and overloading. 5. Write down the type rules governing the use of a particular compound type. 6. Write basic algorithms that avoid assigning to mutable state or considering reference equality. 7. For multiple programming languages, identify program properties checked statically and program properties checked dynamically. 8. Explain how programming language implementations typically organize memory into global data, text, heap, and stack sections and how features such as recursion and memory management map to this memory model. 9. Use a logic language to implement a conventional algorithm. 10. Correctly reason about control flow in a program using dynamic dispatch.

Topics Covered (In Outline/Calendar):
1. Regular expressions 2. context-free grammar 3. typing rules 3. type operations 4. generics 5. subtyping, 6. overloading 7. compound types 8. statically program properties 9. dynamically program properties, 10 global data, text, heap, and stack in programming language implementations 11. recursion 12. memory management 13. Logic languages 14. control flow in dynamic dispatch

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. James Church, Dr. Nicholas Coleman

Technologies / Skills:
Different programming languages selected by instructor

Textbook(s):
Fall 2025
Title: Concepts of Programming Languages, Global Edition
Edition: 12th
Author: Robert Sebesta
Publisher: Pearson
ISBN: 978-1292436821
========================================


None
Course Number:
CSCI 4270

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Algorithm Design and Analysis

Course Description (Bulletin Description):
Algorithm design techniques and computational complexity analysis. Divide-and-conquer, dynamic programming, greedy approach, backtracking, branch-and-bound, complexity theory, P and NP problems.

Prerequisite:
CSCI 3250

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. SamadiDana

Instructor-in-charge:
Dr. SamadiDana

Previous Professors:
Dr. Nicholas Coleman, Dr. James Church, Dr. SamadiDana

Technologies / Skills:
Algorithm theories

Textbook(s):
Spring/Summer 2026
Title: FOUNDATIONS OF ALGORITHMS
Edition: 5TH 15
Author: NEAPOLITAN
Publisher: JONES+BART
ISBN: 9781284049190
========================================


None
Course Number:
CSCI 4350

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Compiler Design

Course Description (Bulletin Description):
Review of program language structures, translation, loading execution, and storage allocation. Compilation of simple expressions and statements. Organization of a compiler including compile-time and run-time tables, lexical scan, syntax scan, object code generation, error diagnostics, object code optimization techniques, and overall design. A simple compiler is designed and implemented as a group project.

Prerequisite:
CSCI 3250

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Jiang Li, Dr. Nicholas Coleman

Technologies / Skills:
Compiler design theories

Textbook(s):
Spring 2021
Title: ENGINEERING A COMPILER
Edition: 2ND
Author: COOPER AND TORCZON
Publisher: ELSEVIER
ISBN: 9780120884780
========================================


None
Course Number:
CSCI 4400

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Principles of Database Management

Course Description (Bulletin Description):
Database development process, data structures and database methods of file storage, primitive databases, Relational model approach to database management, hierarchy, network and object oriented models, data security, discussion of sample databases such as DBASE, RDB, and SQL.

Prerequisite:
CSCI 2000 or 2010 or 3300

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Mir Hasan

Previous Professors:
Dr. Mir Hasan

Technologies / Skills:
Database design, SQL programming

Textbook(s):
Summer/Spring 2026
Title: DATABASE SYSTEMS: Design, Implementation & Management
Edition: 14TH
Author: Carlos Coronel, Steven Morris
Publisher: CENGAGE
ISBN: 9780357673034
========================================


None
Course Number:
CSCI 4405

Approved Starting Semester:
Fall 2021

Course Title:
Database Administration

Credit Hours:
3

Course Description (Bulletin Description):
This course covers the fundamentals of database administration concepts, procedures, and practices.

Prerequisite:
CSCI 4400

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Explain the components of database management and administration environment. 2. Evaluate and apply technology resources by installing, updating, and maintaining a database server and relevant services. 3. Remember and understand factual knowledge relevant to database administration tools and techniques. 4. Apply the procedures presented in a “how to” document or tutorial to perform an administration task successfully. 5. Identify abnormal behavior in a database system, make hypothesis on how to address it, and implement solutions. 6. Generate reporting on various metrics including availability, usage and performance. 7. Develop and test a database backup and recovery strategy. 8. Understand the procedures of migrating database to new platforms including the Cloud.

Topics Covered (In Outline/Calendar):
database architecture, planning and deployment, storage management, users and security administrating, indexes, optimization, backup and recovery, performance monitoring, task automation, data migration, high availability and disaster recovery concepts

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Hasan

Instructor-in-charge:
Dr. Hasan

Previous Professors:
Dr. Hasan

Technologies / Skills:
N.A.

Textbook(s):
Summer/Spring 2026
Title: MICROSOFT SQL SERVER 2019: A BEGINNER'S GUIDE
Edition: 7TH 20
Author: PETKOVIC
Publisher: MCGRAW HILL
ISBN: 9781260458879

========================================


None
Course Number:
CSCI 4450

Approved Starting Semester:
Fall 2025

Course Title:
Foundations of Artificial Intelligence

Course Description (Bulletin Description):
A survey of the fundamental concepts, algorithms, and data structures used to construct intelligent agents. Topics include problem solving, representing certain and uncertain knowledge, logical and probabilistic reasoning, and decision-making strategies.

Prerequisite:
CSCI 3250

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
* List the defining characteristics of an intelligent agent. * Describe the problem of combinatorial explosion of search space and its consequences. * Translate a natural language (e.g., English) sentence into a predicate logic statement. * Apply resolution to a set of logic statements to answer a query. * Compare and contrast the basic techniques for representing uncertainty. * Define the concept of a planning system and how it differs from classical search techniques. * Apply Bayes’ rule to determine the probability of a hypothesis given evidence. * Describe the complexities of temporal probabilistic reasoning. * Describe the relationship between preferences and utility functions. * Define and contrast deterministic and stochastic grammars, providing examples to show the adequacy of each. * Explain the differences among the three main styles of learning: supervised, reinforcement, and unsupervised. * Summarize the importance of image and object recognition in AI and indicate several significant applications of this technology.

Topics Covered (In Outline/Calendar):
* Intelligent agents * State-space search algorithms * Games and adversarial search * Constraint satisfaction problems * Knowledge representation and automated reasoning * Uncertainty and probabilistic reasoning * Decision-theoretic agents

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Jiang Li, Dr. Nicholas Coleman

Technologies / Skills:
Artificial Intelligence theories

Textbook(s):
Summer/Spring 2024
Title: Artificial Intelligence, a Modern Approach
Edition: 4th
Authors: Stuart J. Russell and Peter Norvig
Publisher: Pearson
ISBN: 9780134610993
========================================


None
Course Number:
CSCI 4451

Approved Starting Semester:
Fall 2025

Course Title:
Computer Vision

Course Description (Bulletin Description):
Computer vision is a field of artificial intelligence that empowers computers to glean meaning from images and videos. This course will use modern languages and libraries to create applications that involve image processing, video processing, retrieval, object detection, tracking, face detection, and depth estimation.

Prerequisite:
CSCI 2010 with a grade of “C” or higher, and CSCI 2011 with a grade of “C” or higher.

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to:

Topics Covered (In Outline/Calendar):
image processing, video processing, image retrieval, motion detection, object detection, object tracking, face detection, face identification, depth estimation, and machine learning as it relates to any of the aforementioned topics.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
To be decided!

Instructor-in-charge:
To be decided!

Previous Professors:
None!

Technologies / Skills:
Artificial Intelligence, Computer Vision

Textbook(s):
Summer/Spring 2028
Title: To be decided!
Edition: To be decided!
Authors: To be decided!
Publisher: To be decided!
ISBN: To be decided!
========================================


None
Course Number:
CSCI 4452

Approved Starting Semester:
Fall 2025

Course Title:
Generative A.I.

Course Description (Bulletin Description):
This course explores cutting-edge artificial intelligence methods for generating new content, such as images, text, and music. With a blend of practical projects and theoretical discussions, students develop skills in creating and deploying generative AI systems, preparing them for roles in AI research and creative sectors.

Prerequisite:
CSCI-2010 with a grade of “C” or higher.

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to:

Topics Covered (In Outline/Calendar):
1. Introduction to Generative Models 2. Overview of Autoencoders and their Applications 3. Understanding Generative Adversarial Networks (GANs) 4. Exploring Variational Autoencoders (VAEs) for Image Generation 5. Image-to-Image Translation Techniques 6. Text Generation using Recurrent Neural Networks (RNNs) 7. Music Generation with Neural Networks 8. Style Transfer and Neural Art 9. Introduction to Creative AI 10. Applications of Generative AI in Entertainment and Media 11. Designing Interactive Art with Generative Models 12. Generative AI in Virtual Reality (VR) and Augmented Reality (AR) 13. Ethical Considerations in Generative AI 14. Hands-on Projects with Pre-trained Models 15. Future Directions and Trends in Generative AI

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Saeid SamadiDana

Instructor-in-charge:
Dr. Saeid SamadiDana

Previous Professors:
Dr. Saeid SamadiDana

Technologies / Skills:
Artificial Intelligence, Generative Artificial Intelligence

Textbook(s):
Summer/Spring 2026
Title: To be decided!
Edition: To be decided!
Authors: To be decided!
Publisher: To be decided!
ISBN: To be decided!
========================================


None
Course Number:
CSCI 4460

Approved Starting Semester:
Fall 2021

Course Title:
Content Management Systems

Credit Hours:
3

Course Description (Bulletin Description):
This course introduces the concept of data and content management to the students. Students are to install, setup, configure, and use a content management system to create full-fledged data and content rich websites with customizable add-on features. Students will learn how to program and configure this content management system to tap into its programmable development potentials. In addition, the course covers an introduction to strategic management.

Prerequisite:
CSCI 3300 and CSCI 4000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Install, setup, configure, and create a content management system. 2. Add features to the CMS site using widgets and plug-ins. 3. Build a blog out of a CMS. 4. Customize that CMS with themes to create an advanced site that looks exactly the way you want it to. 5. Develop and build themes for the CMS from scratch. 6. Use and develop plug-ins for the CMS. 7. Use a hosting provider to manage a CMS-powered website. 8. Apply strategic management theories and concepts to formulate and implement major goals and initiatives in terms of IT/CS management.

Topics Covered (In Outline/Calendar):
hosting considerations, CMS installation, CMS configurations, CMS design consideration, building an e-commerce platform using a CMS, website refactoring, CMS theme development, CMS plugin development, CSS integration into a CSS, website development using a server-side programming language, strategic management theory

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. Leong Lee, Dr. James Church

Technologies / Skills:
WordPress CMS, WordPress PHP programming, Web Hosting

Textbook(s):
Spring/Summer 2026
---------------------------------
Title: Ultimate WordPress Handbook: An Essential Guide to Designing Stunning WordPress Websites, Driving Traffic, and Boosting Revenue (English Edition)
Edition: First
Authors: Tricia Ulbert, Daniel Bisett
ISBN-13: 978-9348107114
Publisher: ISBN-13: 978-9348107114
========================================


None
Course Number:
CSCI 4520

Approved Starting Semester:
Fall 2021

Course Title:
Network Security

Credit Hours:
3

Course Description (Bulletin Description):
An examination of the tools techniques, and technologies used in the securing of information assets via networks. Topics covered include network operating system security, security of transmissions, firewall configurations, vulnerabilities and hardening of network components. Web and distributed system security, and procedures dealing with storage and disposition of sensitive data.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: Define basic computer and network security principles. 1. Describe basic network security principles and the types of security threats attacks that must be dealt with. 2. Explain the techniques to increase network's security including cryptography, authentication, authorization and access control. 3. Evaluate applied cryptography techniques including symmetric ciphers, public encryption, hash functions, and digital signatures. 4. Explain mutual trust methods including key distribution and user authentication protocols. 5. Understand how applications can communicate securely and the protocols exist in order to offer different levels of security. 6. Explain network and Internet security techniques including transport security and IP security. 7. Summarize the functionality of e-mail security protocols and the security threats addressed. 8. Apply security tools to access network’s security and establish processes to test penetration.

Topics Covered (In Outline/Calendar):
Security attacks, security services, symmetric encryption, pubic key encryption, hash functions, digital signatures, key distribution and user authentication, network access control, transport-level security, electronic email security, IP security.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Network security theories

Textbook(s):
Spring/Summer 2025
---------------------------------
Title: NETWORK SECURITY ESSENTIALS: APPLICATION AND STANDARDS
Edition: 6TH
Author: STALLLINGS
Publisher: PEARSON
ISBN: 9780134527338
---------------------------------
Title: Kali Linux Penetration Testing Bible
Edition: 1ST
Author: Gus Khawaja
Publisher: Wiley
ISBN: 9781119719083
========================================


None
Course Number:
CSCI 4550

Approved Starting Semester:
Fall 2023

Course Title:
Computer Graphics

Course Description (Bulletin Description):
This course covers the algorithms, data structures and mathematics used in the field of computer graphics. Topics will include algorithms, geometrical transformations, color models, light and shading, ray tracing, and rendering. Students will implement the algorithms in computer code.

Prerequisite:
(CSCI 2000 or CSCI 2010) and MATH 1920

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Upon completion of the course, the student should be able to: 1. Explain, apply, and implement the core concepts of computer graphics, including viewing, projection, perspective, modeling, and transformation in two and three dimensions. 2. Explain, apply, and implement the concepts of color models, lighting and shading models, textures, ray tracing, hidden surface elimination, and rendering. 3. Demonstrate and implement geometrical transformations and 3D viewing. 4. Demonstrate and implement graphics techniques including 3D transformation, lighting, textures, and ray tracing. 5. Implement common computer graphics algorithms and techniques in a modern computer language

Topics Covered (In Outline/Calendar):
* Shading and Color * Graphics primitives * 2D and 3D transformations * 3D viewing * Image and animation * Modeling

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Alice Lin

Instructor-in-charge:
Dr. Alice Lin

Previous Professors:
Dr. Alice Lin, Dr. Jiang Li

Technologies / Skills:
N.A.

Textbook(s):
Summer 2021
Title: Fundamentals of Computer Graphics
Edition: 4TH
Author: Marschner, Shirley
Publisher: A K Peters/CRC Press
ISBN: 9781482229394
========================================


None
Course Number:
CSCI 4560

Approved Starting Semester:
Fall 2025

Course Title:
Robotics I

Course Description (Bulletin Description):
An introduction to software development for intelligent robots capable of acting independently. Students will work with simulators and real robots. Topics include robotic operating systems and programming, sensors, control, and computer vision.

Prerequisite:
CSCI 3250

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1) Develop algorithms and software to control robotics 2) Develop and test software on robots within a simulator and in the real world. 3) Demonstrate control of a robot using the Robotics Operating System (ROS) 4) Control a robot's servos and motors to control a robot's movement and behavior 5) Incorporate computer vision input into robotic software 6) Apply C++ and Python to robotic software development 7) Design, develop, and test a robot as member of a team

Topics Covered (In Outline/Calendar):
ROS (Robotic Operating System), computer vision, Python and C++ APIs for ROS, robot simulators such as Gazebo, motor and servo control, human/robot interaction

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. John Nicholson

Technologies / Skills:
Software development for intelligent robots

Textbook(s):
Fall 2022
No Textbook Required
========================================


None
Course Number:
CSCI 4561

Approved Starting Semester:
Fall 2025

Course Title:
Robotics II

Course Description (Bulletin Description):
A continuation of CSCI 4560. More advanced robotics systems will be developed. Topics will include sensor fusion, localization, mapping, planning, and cooperation among robots.

Prerequisite:
CSCI 4560

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1) Examine localization and mapping algorithms for robots 2) Use ROS's SLAM implementations to help a robot localize and map its environment 3) Design and implement path planning algorithms for a robot 4) Use machine learning to teach a robot to learn to do a task 5) Develop code to allow a pair or robots to work together. 6) Apply C++ and Python to robotic software development 7) Design, develop, and test robots as member of a team

Topics Covered (In Outline/Calendar):
Advanced use of ROS, artificial intelligence and robotics, sensor fusion, localization, mapping, SLAM algorithm, planning, and cooperation among groups of robots.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. John Nicholson

Technologies / Skills:
Software development for intelligent robots

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 4570

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
High Performance and Parallel Computing

Course Description (Bulletin Description):
Covers single processor optimization, shared memory parallelism using OpenMP, and distributed memory parallelism using MPI within the context of writing software for numeric computation. Course focuses on writing and optimizing codes in FORTRAN, C/C++ for large computational resources.

Prerequisite:
(ENGR 4000 or PHYS 4000 or MATH 4670) and (ENGR 3005 or PHYS 3005 or MATH 3450)

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Justin R Oelgoetz

Instructor-in-charge:
Dr. Justin R Oelgoetz

Previous Professors:
Dr. Justin R Oelgoetz

Technologies / Skills:
OpenMP API, parallel programming, Fortran / C++ programming languages

Textbook(s):
No Textbook
========================================


None
Course Number:
CSCI 4600

Approved Starting Semester:
Fall 2021

Course Title:
Software Engineering

Credit Hours:
3

Course Description (Bulletin Description):
An introduction to software engineering. Introduces topics such as requirements, design, testing, and documentation. A software system is designed, developed and presented as a team project during the course.

Prerequisite:
CSCI 3005

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: i. How to design and document software architectures with the Unified Modeling Language (UML) ii. How to use integrated programming environment like Visual Studio iii. The theory and practical application of the software engineering process within a realistic project iv. To understand the core workflows of developing a real software project v. v. To use C# programming language and apply .NET class library in advanced software development

Topics Covered (In Outline/Calendar):
a. Software processes, including the Waterfall model and agile methods b. Requirements Engineering c. System modeling d. Architectural models e. Implementation and Testing f. Software Evolution g. Configuration management and git

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (SLO5)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Mir. Hasan (Spring 2026), Dr. Majdi Lusta (starting Spring 2027)

Instructor-in-charge:
Dr. Majdi Lusta

Previous Professors:
Dr. Mir. Hasan, Dr. Majdi Lusta

Technologies / Skills:
Software engineering

Textbook(s):
Summer/Spring 2026
Title: SOFTWARE ENGINEERING
Edition: 10TH
Author: SOMMERVILLE
Publisher: PEARSON
ISBN: 9780133943030
========================================


None
Course Number:
CSCI 4601

Approved Starting Semester:
Fall 2021

Course Title:
Testing and Quality Assurance

Credit Hours:
3

Course Description (Bulletin Description):
Theory and practice for determining whether a software system conforms to its specification and intended use. Topics include methods of testing, verification and validation, performance evaluation, unit and system level testing, quality assurance processes and techniques.

Prerequisite:
CSCI 3005

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1) Perform formal reviews of software artifacts 2) Create a test plan for a software system 3) Apply different strategies for unit-level and system-level testing 4) Describe principles and strategies of integration and regression testing 5) Use a problem tracking system 6) Assess a user interface for suitability and usability 7) Understand purposes of quality processes, methods for measuring that quality, and standards used 8) Estimate cost of a Testing and QA project and manage budgets

Topics Covered (In Outline/Calendar):
Software quality assurance methods, test plans and strategies, unit level and system level testing, software reliability, peer review methods, and configuration control responsibilities in quality assurance

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. Nicholson

Instructor-in-charge:
Dr. Nicholson

Previous Professors:
Dr. Nicholson

Technologies / Skills:
Software engineering

Textbook(s):
Spring 2025
Title: Introduction to Software Testing
Edition : 2nd
Publisher : Cambridge University Press
ISBN: 9781107172012
========================================


None
Course Number:
CSCI 4602

Approved Starting Semester:
Fall 2021

Course Title:
Software Design and Architecture

Credit Hours:
3

Course Description (Bulletin Description):
Introduction to the design and architecture of large-scale software systems.Topics include software architecture, methodologies, model representation, patterns, frameworks, and documenting a system's design and architecture.

Prerequisite:
CSCI 3005

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1) Distinguish the software architecture perspective and from lower-level design 2) Recognize the need for a software architecture. 3) Develop architectural approaches from basic requirements 4) Analyze trade-offs among architectural alternatives 5) Apply architectural patterns in the development of complex software systems. 6) Describe and diagram common software design patterns used in software architectures. 7) Implement an architectural specification 8) Communicate software architecture and design decisions to non-technical stakeholders

Topics Covered (In Outline/Calendar):
Basic principles of Software design and architecture. Moving from analysis to design. Problem domain modeling. Structure and behavior modeling. Class and object design. Software architectures and styles Design patterns such as those in the Gang of Four. Architecture and design refinement.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. James Church

Technologies / Skills:
Software engineering

Textbook(s):
Fall 2025
Title: Concepts of Programming Languages, Global Edition
Edition: 12th Edition
Author: Robert Sebesta
Publisher: Pearson
ISBN: 978-1292436821
========================================


None
Course Number:
CSCI 4603

Approved Starting Semester:
Fall 2022

Course Title:
Requirements and Project Management

Course Description (Bulletin Description):
Introduces students to project management for software systems. Requirement concepts include elicitation, functional and non-functional requirements, prototyping, and requirement tracking. Project management topics include project planning, organizing, tracking, scheduling, and risk management.

Prerequisite:
CSCI 2010 or CSCI 2000

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Write a successful project proposal. 2. Construct a work breakdown and measure progress 3. Identify appropriate work assignments for a project and map them into software development tasks. 4. Identify and manage risks and problems that may lead to project failure. 5. Demonstrate team management and conflict resolution. 6. Gather, analyze, and manage requirements for a software system 7. Differentiate between functional requirements and non-functional requirements

Topics Covered (In Outline/Calendar):
What is project management, risk management, team creation and management, resource management, issue tracking. Eliciting requirements, modelling and analyzing requirements, communicating requirements, and evolving requirements.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Kriti Chauhan

Instructor-in-charge:
Dr. Kriti Chauhan

Previous Professors:
Mr. Barry Bruster, Dr. Kriti Chauhan

Technologies / Skills:
Software project management

Textbook(s):
Spring 2026
Title: INFORMATION TECHNOLOGY PROJECT MANAGEMENT
Edition: 9th
Author: KATHY SCHWALBE
Publisher: CENGAGE LEARNING
ISBN: 9781337101356
========================================


None
Course Number:
CSCI 4611

Approved Starting Semester:
Fall 2021

Course Title:
Computer Forensics and Incident Response

Credit Hours:
3

Course Description (Bulletin Description):
This course addresses the topics of computer forensics, incident response, cyber-crime and terrorism, cyber-crime investigation and prosecution. Students will learn about computer forensics, extracting and proper handling of evidence, and how an organization can setup a security response team, prepare for and manage security incidents.

Prerequisite:
CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5611

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Know computer forensics methods to determine the source of incident and how to preserve evidence 2. Learn about Computer Forensics and Investigation as a Profession, Computing Investigations including email, social media, cloud, and mobile device investigations, and the organization of the Investigator's Office and Laboratory 3. Understand how to do Data Acquisitions, process Crime and Incident Scenes, and use, Current Computer Forensics Tools 4. Learn about Linux and Windows boot Processes and File Systems, including Computer Forensics Analysis and Validation 5. Know how to recover Graphics Files, Network Forensics 6. Know the requirements for Report Writing for High-Tech Investigations and understand Expert Testimony in High-Tech Investigations 7. Understand what counter measures can be taking in response to an incident. Proactive and reactive responses: anti-virus protection, firewalls, patches. 8. Understand how to restore normal business practices – employee termination, law enforcement reporting process. How to properly handle reports of abuse.

Topics Covered (In Outline/Calendar):
• Basic Principles and methodologies for digital forensics • Design systems with forensic needs in mind • Rules of-Evidence- general concepts and differences between jurisdictions and Chain of Custody • Search and Seizure of evidence: legal and procedural requirements • Digital Evidence methods and standards • Techniques and standards for Preservation of Data • Legal and Reporting Issues including working as an expert witness • OS/File System Forensics • Application Forensics • Web Forensics • Network Forensics • Mobile Device Forensics • Computer/network/system attacks • Attack detection and investigation • Anti-forensics

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Saeid SamadiDana

Instructor-in-charge:
Dr. Saeid SamadiDana

Previous Professors:
Mr. Leonard Tharpe, Dr. Saeid SamadiDana

Technologies / Skills:
Computer security incident response

Textbook(s):
Fall/Summer 2025
Title: GUIDE TO COMPUTER FORENSICS AND INVESTIGATIONS
Edition: 6TH 19
Author: NELSON
Publisher: CENGAGE L
ISBN: 9781337568944
========================================


None
Course Number:
CSCI 4612

Approved Starting Semester:
Fall 2021

Course Title:
Securing Cyber Space (Web, DB, and Platform)

Credit Hours:
3

Course Description (Bulletin Description):
In this course students will learn how to secure an organization's technological infrastructure, including topics on operating system platforms/hardware, virtual machines, mobile devices, web servers, database servers, additional network components, anti-malware, public facing applications, host-based intrusion detection/prevention, firewalls and audit and compliance. Course includes laboratory work using Linux and Windows.

Prerequisite:
CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5612

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Harden the Windows and Linux Platform security. 2. Understand the Web security model, and how to harden web servers 3. Explain the nature of key web application vulnerabilities and defenses 4. Understand Database Security and Database vulnerabilities 5. Know how to use open source firewalls and how to implement basic firewall rules 6. Perform a basic penetration test.

Topics Covered (In Outline/Calendar):
• Platform security • System hardening • User account management • Network security: Access control lists and Intrusion detection • The Web security model Database Security • Application security.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Sabrina Perry

Instructor-in-charge:
Dr. Sabrina Perry

Previous Professors:
Dr. Majdi Lusta, Dr. Sabrina Perry

Technologies / Skills:
Secure technological infrastructure, Linux OS, Windows OS

Textbook(s):
Fall 2025
---------------------------------
Title: NAVIGATE EBOOK ACCESS FOR SECURITY STRATEGIES IN LINUX PLATFORMS AND APPLICATIONS WITH CLOUD LAB ACCESS
Edition: 3RD
Author: JANG
Publisher: JONES+BART
ISBN: 9781284255980
---------------------------------
Title: NAVIGATE EBOOK ACCESS FOR SECURITY STRATEGIES IN WINDOWS PLATFORMS AND APPLICATIONS WITH CLOUD LABS
Edition: 4TH
Author: SOLOMON
Publisher: JONES+BART
ISBN: 9781284282023
========================================


None
Course Number:
CSCI 4613

Approved Starting Semester:
Fall 2022

Course Title:
Cryptography

Course Description (Bulletin Description):
This course introduces students to the methods of cryptography and cryptanalysis. Students will learn how to use symmetric and asymmetric cryptographic primitives to ensure confidentiality, data integrity, authentication, and non-repudiation. Weaknesses of and attacks on cryptographic systems will also be discussed.

Prerequisite:
CSCI 2500 and CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Describe the purpose of cryptography and list ways it is used in data communications. 2. Define the following terms: cipher, cryptanalysis, cryptographic algorithm, and cryptology, and describe the two basic methods (ciphers) for transforming plain text in cipher text. 3. Discuss the importance of prime numbers in cryptography and explain their use in cryptographic algorithms. 4. Use cryptographic primitives and describe their basic properties. 5. Illustrate how to measure entropy and how to generate cryptographic randomness. 6. Use public-key primitives and their applications. 7. Explain how key exchange protocols work and how they fail. 8. Summarize security definitions related to attacks on cryptographic primitives, including attacker capabilities and goals. 9. Apply appropriate known cryptographic techniques for a given scenario. 10. Appreciate the dangers of inventing one’s own cryptographic methods.

Topics Covered (In Outline/Calendar):
• Historical ciphers • Attack classification • Computational security • Symmetric key encryption and authentication • Cryptographic hash functions • Public key encryption and authentication

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Nicholas Coleman

Technologies / Skills:
Cryptography algorithms

Textbook(s):
Spring 2026
Title: SERIOUS CRYPTOGRAPHY
Edition: 18TH
Author: AUMASSON
Publisher: PENG RAND
ISBN: 9781593278267
========================================


None
Course Number:
CSCI 4617

Approved Starting Semester:
Fall 2021

Course Title:
Security Policy and Governance

Credit Hours:
3

Course Description (Bulletin Description):
This course covers policy development through monitoring and governance stages - policies such as privacy, acceptable use, physical security, breach disclosure, data collection and retention policies, cloud security, and supply chain are covered. Best-in-class methodologies will be used to create security policy that will communicate the organization's asset protection objectives.

Prerequisite:
CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5617

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Identify the role of an information systems security (ISS) policy framework in overcoming business challenges. 2. Analyze how security policies help mitigate risks and support business processes in various domains in the information technology (IT) infrastructure. 3. Describe the components and basic requirements for creating a security policy framework. 4. Describe the different methods, roles, responsibilities, and accountabilities of personnel, along with the governance and compliance of security policy framework. 5. Describe the different ISS policies associated with the user domain. 6. Describe the different ISS policies associated with the IT infrastructure. 7. Describe the different ISS policies associated with risk management. 8. Describe the different ISS policies associated with incident response teams (IRT). 9. Describe different issues related to implementing and enforcing ISS policies. 10. Describe the different issues related to defining, tracking, monitoring, reporting, automating, and configuration of compliance systems and emerging technologies.

Topics Covered (In Outline/Calendar):
• Privacy policy • Privacy and civil liberties/legal foundations of privacy protection • Acceptable use policy • Physical security policy • Inference controls/statistical disclosure limitation • Backup policy, password refresh policy • Breach disclosure policy • Data collection and retention policies • Supply chain policy • Cloud security tradeoffs

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
Course Coordinator:
Dr. Majdi Lusta

Instructor-in-charge:
Dr. Majdi Lusta

Previous Professors:
Dr. Majdi Lusta

Technologies / Skills:
Security policy

Textbook(s):
Fall 2024
---------------------------------
Title: SECURITY POLICIES AND IMPLEMENTATION ISSUES
Edition: 3RD
Author: JOHNSON
Publisher: O'REILLY
ISBN: 9781284199840
---------------------------------
Title: THEORY LABS FOR SECURITY POLICIES AND IMPLEMENTATION ISSUES
Edition: 3RD
Author: JOHNSON
Publisher: O'REILLY
ISBN: 9781284199932
========================================


None
Course Number:
CSCI 4619

Approved Starting Semester:
Fall 2025

Course Title:
Ethical Hacking and Offensive Security

Course Description (Bulletin Description):
This course will instruct students in techniques used by hackers to identify vulnerabilities and facilitate the development of solutions for hardening systems and improving system and network security. Effective use of penetration testing tools and the use of proactive offensive security tactics will be emphasized.

Prerequisite:
CSCI 4200 and (CSCI 2010 or CSCI 2000)

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5619

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: • Produce a penetration test authorization and rules of engagement document • Contrast penetration testing methodologies • Derive system reconnaissance and network scan to detect open ports and vulnerable systems • Elaborate social engineering techniques for a penetration test • Compile penetration test scanning results to exploit vulnerabilities • An understanding of Offensive techniques

Topics Covered (In Outline/Calendar):
• techniques used by hackers to identify vulnerabilities • facilitate the development of solutions for hardening systems • improving system • network security. • penetration testing tools • proactive offensive security tactics

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. (SLO4)
Course Coordinator:
Mr. Barry Bruster

Instructor-in-charge:
Mr. Barry Bruster

Previous Professors:
Mr. Barry Bruster

Technologies / Skills:
Techniques used by hackers, hardening systems, penetration testing

Textbook(s):
Summer 2025
Title: Ethical Hacking: Techniques, Tools, and Countermeasures
Edition: 4TH
Author: ORIYANO
Publisher: JONES+BART
ISBN: 978-1284248999
========================================


None
Course Number:
CSCI 4624

Approved Starting Semester:
Fall 2021

Course Title:
Risk Management

Credit Hours:
3

Course Description (Bulletin Description):
This course addresses the broad topic of risk management and how risk, threats, and vulnerabilities impact information systems. Areas of instruction include how to assess and manage risk based on defining an acceptable level of risk for information systems. Elements of a business impact analysis, business continuity plan, and disaster recovery plan will also be discussed.

Prerequisite:
CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5624

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain the basic concepts of and need for risk management. 2. Explain methods of mitigating risk by managing threats vulnerabilities, and exploits. 3. Identify compliancy laws, standards, best practices, and policies of risk management. 4. Describe the components of an effective organizational risk management program. 5. Describe techniques for identifying and analyzing relevant threats, vulnerabilities, and exploits. 6. Describe the process of performing risk assessments. 7. Identify assets and activities to protect within an organization. 8. Identify threats, vulnerabilities, and exploits. 9. Identify risk mitigation security controls. 10. Describe concepts for planning risk mitigation throughout an organization. 11. Describe concepts for implementing a risk mitigation plan. 12. Perform a business impact analysis. 13. Create a business continuity plan (BCP) based on the findings of a given risk assessment for an organization. 14. Create a disaster recovery plan (DRP) based on the findings of a given risk assessment for an organization. 15. Create a computer incident response team (CIRT) plan for an organization.

Topics Covered (In Outline/Calendar):
• assessment of systems • resources that are vulnerable to intrusions and unauthorized access from a management/strategic perspective • analysis of system vulnerability • identification of security deficiencies • security measurement • effectiveness and adequacy • estimation of vulnerability of system resources to potential disaster hazards

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Mir Hasan

Previous Professors:
Dr. Mir Hasan

Technologies / Skills:
Assessment of system vulnerability

Textbook(s):
Summer/Spring 2026
Title: MANAGING RISK IN INFORMATION SYSTEMS
Edition: 2ND
Author: GIBSON
Publisher: JONES+BART
ISBN: 9781284055955
========================================


None
Course Number:
CSCI 4625

Approved Starting Semester:
Fall 2025

Course Title:
Intrusion Detection and Prevention

Course Description (Bulletin Description):
This course covers an in-depth study of the theory and practice of intrusion detection and prevention in cyberspace. Topics include network security, monitoring, auditing, intrusion detection, intrusion prevention, and ethical penetration testing. Emphasis is on methods to identify threats and prevent attacks.

Prerequisite:
CSCI 4200 and (CSCI 2010 or CSCI 2000)

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5625

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain network traffic fundamentals 2. Define components and types of intrusion detection 3. Compare intrusion detection vs. intrusion prevention systems (IDS & IPS) 4. Explain and implement network and host intrusion detection systems 5. Design and apply network traffic signatures 6. Define and discuss effective use of prevention/decoy systems. 7. Integrate IDS/IPS devices into network and firewall design 8. Analyze logging data to locate intrusion patterns 9. Classify and respond to network intrusion incidents 10. Develop and document appropriate response to intrusion and other management aspects.

Topics Covered (In Outline/Calendar):
• network security • monitoring • auditing • intrusion detection • intrusion prevention • ethical penetration testing • methods to identify threats and prevent attacks

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Intrusion detection and prevention in cyberspace

Textbook(s):
Spring 2026
---------------------------------
Title: Network Security, Firewalls, and VPNs, Fourth Edition
ISBN: 9781284302509
Edition: 4th
Author: Denise Kinsey
Publisher: Jones & Bartlett Learning
---------------------------------
Title: IDS and IPS with Snort 3: Get up and running with Snort 3 and discover effective solutions to your security issues
ISBN: 9781800566163
Edition: 1st
Author: Ashley Thomas
Publisher: Packt Publishing
========================================


None
Course Number:
CSCI 4628

Approved Starting Semester:
Fall 2025

Course Title:
Defensive Programming

Course Description (Bulletin Description):
This course provides in-depth coverage of defensive programming techniques. Topics include: input validation and data sanitization, choice of programming language and type-safe languages, examples of common vulnerabilities and coding errors, and secure coding practices.

Prerequisite:
CSCI 4200 and (CSCI 2010 or CSCI 2000)

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5628

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain why input validation and data sanitization is necessary in the face of adversarial control of the input channel. 2. Explain why you might choose to develop a program in a type-safe language like Java, in contrast to an unsafe programming language like C/C++. 3. Classify common input validation errors, and write correct input validation code. 4. Demonstrate using a high-level programming language how to prevent a race condition from occurring and how to handle an exception. 5. Demonstrate the identification and graceful handling of error conditions. 6. Explain the risks with misusing interfaces with third-party code and how to correctly use third-party code. 7. Discuss the need to update software to fix security vulnerabilities and the lifecycle management of the fix. 8. List examples of direct and indirect information flows. 9. Explain the role of random numbers in security, beyond just cryptography (e.g. password generation, randomized algorithms to avoid algorithmic denial of service attacks). 10. Explain the different types of mechanisms for detecting and mitigating data sanitization errors. 11. Demonstrate how programs are tested for input handling errors. 12. Use static and dynamic tools to identify programming faults. 13. Describe how memory architecture is used to protect runtime attacks.

Topics Covered (In Outline/Calendar):
* input validation * data sanitization * choice of programming language * type-safe languages * examples of common vulnerabilities and coding errors * secure coding practices.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
None

Instructor-in-charge:
None

Previous Professors:
None

Technologies / Skills:
Defensive programming techniques

Textbook(s):
Spring 2024
Title: SECURE CODING IN C AND C++
Edition: 2ND
Author: SEACORD
Publisher: ADDISON-WESLEY
ISBN: 9780321822130
========================================


None
Course Number:
CSCI 4629

Approved Starting Semester:
Fall 2021

Course Title:
Information Security Certification Workshop

Credit Hours:
1

Course Description (Bulletin Description):
This workshop course prepares students for information security certification examinations such as the Comp TIA Security+. Instructional materials cover test requirements, questions drills, and preparation resources.

Prerequisite:
CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Prepare for the current CompTIA Security+ Certification Exam. 2. Understand test taking strategies.

Topics Covered (In Outline/Calendar):
1. Networking Basics and Terminology 2. Introduction to Security Terminology 3. Security Policies and Standards 4. Types of Attacks 5. System Security Threats 6. Mitigating Security Threats 7. Implementing System Security 8. Securing the Network Infrastructure 9. Wireless Networking and Security 10. Authentication 11. Access Control 12. Introduction to Cryptography 13. Managing a PKI Infrastructure 14. Physical Security 15. Risk Analysis 16. Disaster Recovery and Business Continuity 17. Introduction to Computer Forensics 18. Security Assessments and Audits 19. Understanding Monitoring and Auditing

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
None

Instructor-in-charge:
None

Previous Professors:
None

Technologies / Skills:
Information security certification

Textbook(s):
Spring 2024
Title: COMPTIA SECURITY+ CERTIFICATION BUNDLE
Edition: 4th 21
Author: LACHANCE
Publisher: MCG
ISBN: 9781260467987
========================================


None
Course Number:
CSCI 4630

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Web Server Administrator

Course Description (Bulletin Description):
An introduction to the setup and maintenance of Web server software. Both Internet Information Server (IIS) and Apache will be used as examples.

Prerequisite:
CSCI 3300

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
None

Instructor-in-charge:
None

Previous Professors:
Mr. Stephen Thomas Paulk-Mcginley

Technologies / Skills:
Microsoft IIS, Apache Web Server

Textbook(s):
Summer 2021
Title: PROFESSIONAL MICROSOFT IIS 8
Edition: 13
Author: SCHAEFER
Publisher: WILEY
ISBN: 9781118388044
Title: APACHE, THE DEFINITIVE GUIDE
Edition: 3RD 03
Author: LAURIE
Publisher: INGRAM PUB
ISBN: 9780596002039
========================================


None
Course Number:
CSCI 4632

Approved Starting Semester:
Fall 2025

Course Title:
Secure Software Engineering

Course Description (Bulletin Description):
This course covers the fundamentals of secure coding practices focusing on building security into the software development lifecycle. Topics include: software development lifecycle, secure design principles and patterns, secure software specifications and requirements, secure software development practices, and secure testing and quality assurance.

Prerequisite:
CSCI 4200 and (CSCI 2010 or CSCI 2000)

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5632

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Describe the requirements for integrating security into the software development lifecycle. 2. Apply the concepts of the Design Principles for Protection Mechanisms, the Principles for Software Security, and the Principles for Secure Design on a software development project. 3. Develop specifications for a software development effort that fully specify functional requirements and identifies the expected execution paths. 4. Describe software development best practices for minimizing vulnerabilities in programming code. 5. Conduct a security verification and assessment (static and dynamic) of a software application.

Topics Covered (In Outline/Calendar):
• software development lifecycle • secure design principles and patterns • secure software specifications and requirements • secure software development practices • secure testing and quality assurance.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. (SLO4)
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (SLO5)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Mir Hasan

Previous Professors:
Mr. Barry Bruster, Dr. Mir Hasan

Technologies / Skills:
Secure coding practices in software development lifecycle

Textbook(s):
Fall 2021
Title: ALL IN ONE CSSLP EXAM GUIDE-W/CD
Edition: 13
Author: CONKLIN
Publisher: MCG
ISBN: 9780071760263
========================================


None
Course Number:
CSCI 4635

Approved Starting Semester:
Fall 2025

Course Title:
Malware Analysis and Countermeasures

Course Description (Bulletin Description):
This course covers the fundamentals of malware analysis and countermeasures. Topics include: anti-malware analysis techniques, debugging concepts and tools, an examination of malware behavior, network indicators and malware countermeasures. Students will learn how to detect, analyze, reverse-engineer and eradicate malware. Real-world examples of malware will be studied.

Prerequisite:
CSCI 4200 and (CSCI 2010 or CSCI 2000)

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5635

Course Objectives (Course-level Student Learning Outcomes):
Upon successful completion of this course: 1. Students will be able to apply the tools and methodologies used to perform static and dynamic analysis on unknown executable(s). 2. Students will know how to infer the functionality of a program by analyzing disassembly and observing the changes on the system as it runs. 3. How to extract investigative leads from host and network-based indicators associated with a malicious program; and how to identify specific coding constructs in disassembly 4. Students will also know the art of dynamic analysis and about Windows APIs most often used by malware authors.

Topics Covered (In Outline/Calendar):
1. Basic Static Analysis, Basic Dynamic Analysis Basic Static Analysis 2. x86, IDA, Code Constructs 3. WinAPI, Handles, Windows Internals, Networking, CODE 4. Debugging Concepts and Tools 5. Malicious Activities and Techniques 6. Hiding Data, Malware Countermeasures, 7. Covert Launching and Execution 8. Anti Disassembly, VM, Debugging, AV 9. Packers, Packing, and Unpacking 10. Kernel Basics, Windows Kernel API, Windows Drivers, Kernel Debugging 11. Hooking, Patching, Kernel Object Manipulation 12. Covert Channels, AntiForensic

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Mr. Barry Bruster

Instructor-in-charge:
Mr. Barry Bruster

Previous Professors:
Mr. Barry Bruster

Technologies / Skills:
anti-malware analysis techniques

Textbook(s):
Fall 2025
Title: LEARNING MALWARE ANALYSIS
Edition: 18
Author: MONNAPPA
Publisher: PACKT PUB
ISBN: 9781788397520
---------------------------------
Title: Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
Edition: 1
Publisher: No Starch Press
Author: Sikorski
ISBN: 9781593272906
========================================


None
Course Number:
CSCI 4640

Approved Starting Semester:
Fall 2021

Course Title:
Information Assurance and Security Leadership

Credit Hours:
3

Course Description (Bulletin Description):
This course presents the latest approaches in information security and a practicum to demonstrate competency in the design and implementation of a successful cyber-security organization. Learning objectives are met through a combination of faculty instruction, current content, and active exchange with other leaders in information security management.

Prerequisite:
CSCI 4200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5640

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Develop Strategic plan to address security 2. Build Structure for Cybersecurity Risk management 3. Perform a resource allocation budgeting for security 4. Identify outsourcing opportunities 5. Collect and utilize information about cyber attacks 6. Manage information assurance and security proactive countermeasures

Topics Covered (In Outline/Calendar):
• Introduction CISO Roadmap • Cyber Risk Management • Enterprise Security Governance & Planning • Security Metrics & Operational Resilience • External Dependency Management • Security Structure & Operations • Security Financial Management: Resource allocation budgeting for security • Effective Communication Strategies: Crisis & Board • Security Strategy & Innovation • Threat & Incident Response & Counter measures • Managing Operational Threat Building an Insider Threat Program • Cyber Law & Compliance • A Realistic View of Security Technology Digital Transformation: Security Implications • Identifying outsourcing and cloud provides

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Mr. Barry Bruster

Instructor-in-charge:
Mr. Barry Bruster

Previous Professors:
Mr. Barry Bruster

Technologies / Skills:
Cyber-security organization.

Textbook(s):
Fall 2025
Title: CISO COMPASS: NAVIGATING CYBER SECURITY
Edition: 1ST 19
Author: FITZGERALD
Publisher: TAYLOR AND FRANCIS
ISBN: 9780367486020
========================================


None
Course Number:
CSCI 4650

Approved Starting Semester:
Fall 2022

Course Title:
Windows Server-Side Web Development

Course Description (Bulletin Description):
This course covers server-based web development using current Windows frameworks. Students will develop both browser-based and mobile-based clients that connect to the server.

Prerequisite:
CSCI 4400

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: • Explain application and page framework concepts • Use ASP.NET client-side scripts • Use ASP.NET web server controls. • Use ASP.NET validation server controls. • Explain ASP.NET data binding. • Use data management techniques with ADO.NET • Use ASP.NET master pages. • Explain and use ASP.NET state management • Create a mobile app that can communicate with the server

Topics Covered (In Outline/Calendar):
• Scripting language concepts • Programming and debugging in a scripting language • Validation concepts in scripting languages • Use of style sheets with scripting languages • Database access from a scripting language • Database maintenance from a scripting language • Master pages and menus in a scripting language • State maintenance in a scripting language • Create a mobile app that can communicate with the server

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Mr. Stephen Thomas Paulk-Mcginley

Previous Professors:
Mr. Stephen Thomas Paulk-Mcginley, Dr. Mir Hasan

Technologies / Skills:
Windows server-side web development

Textbook(s):
Summer/Fall 2024
Title: Web Development with Blazor
Edition: 3
Author: ENGSTROM
Publisher: PACKT
ISBN: 978-1835465912
========================================


None
Course Number:
CSCI 4670

Approved Starting Semester:
Fall 2021

Course Title:
Enterprise Virtualization

Credit Hours:
3

Course Description (Bulletin Description):
This course covers the concepts of virtualization and enterprise-level virtual infrastructure management.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5670

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Describe types of virtualization and the concepts of server, network, storage, and desktop virtualization. 2. Understand the types of cloud computing and deployment models 3. Evaluate and apply technology resources by installing, configuring, updating and managing an enterprise virtual infrastructure. 4. Apply the procedures presented in a “how to” document or tutorial to perform tasks successfully. 5. Identify abnormal behavior in a complex computing system, make hypothesis on how to address it, and implement solutions. 6. Understand the importance of security, high availability, fault tolerance in a virtual environment. 7. Monitor and manage the virtual infrastructure performance, resource utilization and allocation. 8. Automate and orchestrate routine administrative tasks.

Topics Covered (In Outline/Calendar):
Virtualization and hypervisors, cloud computing, VMWare ESXi Server, vCenter Server, vSphere network, vSphere high-availability and fault tolerance, securing vSphere, managing virtual machines and templates, vSphere vMotion, performance monitoring, automation.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Network applications and servcies

Textbook(s):
Fall 2025
Title: AWS Certified Cloud Practitioner Study Guide With 500 Practice Test Questions: Foundational (CLF-C02) Exam
Edition: 2
Author: Ben Piper, David Clinton
Publisher: Sybex
ISBN: 9781394235643
========================================


None
Course Number:
CSCI 4750

Approved Starting Semester:
Fall 2021

Course Title:
Systems Analysis and Design

Credit Hours:
3

Course Description (Bulletin Description):
Study of business information systems including the design, development and implementation of a complete system working in a small group.

Prerequisite:
CSCI 4400 and senior status

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1) Understand the life cycle of a systems development project 2) Explain and apply systems development methodologies, models, tools and techniques for developing quality software. 3) Define and evaluate requirements of an information system 4) Organize the components of a system, including decisions about the system’s hardware, software, and network environment. 5) Design system components and environments, effective user and system interfaces considering human-computer interaction principles. 6) Understand how to store and exchange data in the system by considering database management and security issues, and creating database models and controls 7) Assess implementation, software testing and deployment issues 8) Utilize project management techniques to record, report, and monitor progress.

Topics Covered (In Outline/Calendar):
Systems Planning, Systems Analysis, Systems Design including screen layouts, report formats, and input documents, Systems Implementation and documentation, and Systems Support and Security

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (SLO5)
  • Support the delivery, use, and management of information systems within an information systems environment. (SLO6-CIS)
Course Coordinator:
Dr. Kriti Chauhan

Instructor-in-charge:
Dr. Kriti Chauhan (Spring), Mr. Leonard Tharpe (Fall)

Previous Professors:
Mr. Leonard Tharpe, Mr. John Wood, Dr. Kriti Chauhan, Dr. Saeid SamadiDana

Technologies / Skills:
Software development life cycle, group system design and development project

Textbook(s):
Summer/Spring 2026
Title: SYSTEMS ANALYSIS+DESIGN
Edition: 12th
Author: TILLEY
Publisher: CENGAGE L
ISBN: 978-0357117811
========================================


None
Course Number:
CSCI 4760

Approved Starting Semester:
Fall 2021

Course Title:
Linux System Administration

Credit Hours:
3

Course Description (Bulletin Description):
This course provides a comprehensive introduction to the Linux operating system, and Linux system administration principles and practices.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 5760

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Evaluate and apply technology resources by installing, configuring, and managing a Linux server and relevant services and applications. 2. Remember and understand factual knowledge relevant to system administration tools and technologies. 3. Apply the procedures presented in a “how to” document or tutorial to perform a system administration task successfully. 4. Review alternative system administration technologies or solutions based on requirements in order to make recommendation on the most suited. 5. Identify abnormal behavior in a computing system, make hypothesis on how to address it, and implement solutions. 6. Understand the importance of maintaining a secure Linux server, managing system and network security using different techniques.

Topics Covered (In Outline/Calendar):
Installation and configuration, command line, disks and file systems, permissions, ACLs, SELinux, users and groups, shell scripting, networking, firewall, NFS, Samba, DNS, Web Server.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Linux OS

Textbook(s):
Summer 2025
Title: LINUX BIBLE
Edition: 10TH 20
Author: NEGUS
Publisher: WILEY
ISBN: 9781119578888
========================================


None
Course Number:
CSCI 4770

Approved Starting Semester:
Fall 2021

Course Title:
Routing and Switching

Credit Hours:
3

Course Description (Bulletin Description):
This course is an advanced study of telecommunications and networking. Topics include an in-depth study of TCP/IP protocols, switching, routing, WAN technology, network design and management, and emerging technologies.

Prerequisite:
CSCI 2700

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain network segmentation using bridges, switches, routers, and gateways 2. Identify and discuss the different layer functions of TCP/IP 3. Describe the functions performed by protocols in the TCP/IP protocol suite, including ICMP, UDP, TCP, ARP, and RARP 4. Explain the different classes of IP addresses and subdivide an IP network 5. Understand the elements of the Cisco router user interface 6. Define Interior Gateway Protocols, Exterior Gateway Protocols, distance-vector routing protocols, and link-state routing protocols 7. Describe and configure RIPv2, EIGRP, and OSPF on cisco routers 8. Understand and configure static NAT, dynamic NAT, and PAT 9. Understand and configure Dynamic Host Configuration Protocol (DHCP) 10. Establish standard IP access lists and extended IP access lists 11. Explain basic switching concepts and the operation of Cisco switches 12. Describe the benefits of virtual LANs and configure a VLAN

Topics Covered (In Outline/Calendar):
OSI models, LAN switching, TCP/IP, IP Addressing (IPv4 and IPv6), Cisco router and switch Command Line Interface (CLI), routing protocols (RIP, OSPF, EIGRP), VLANs and Inter-VLAN routing, Network Address Translation (NAT), Access Control Lists (ACLs).

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Use systemic approaches to select, develop, apply, integrate, and administer secure computing technologies to accomplish user goals. (SLO6-CIT)
Course Coordinator:
Dr. Yingbing Yu

Course Coordinator:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Advanced study of telecommunications and networking

Textbook(s):
Summer/Spring 2026
Title: CCNA Certification Study Guide Volume 1 and Volume 2 Set: Exam 200-301 v1.1
Edition: 2nd
Author: Todd Lammle
Publisher: Sybex
ISBN: 978-1394302154
========================================


None
Course Number:
CSCI 4800

Approved Starting Semester:
Fall 2021

Course Title:
Senior Seminar

Credit Hours:
1

Course Description (Bulletin Description):
Problem solving using techniques from all areas of the Computer Science and Information Systems curriculum. Research on an assigned topic culminating in a written paper and oral presentation. Review of all basic areas of study in preparation for entry into the job market. Overview of job opportunities in the computer field.

Prerequisite:
Senior standing and permission of department chair

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. To investigate a research topic and collect supporting references 2. To compose a term paper based on the research topic selected 3. To produce a PowerPoint presentation of a selected course subject.

Topics Covered (In Outline/Calendar):
Review Computer Science topics such as data structures, algorithm analysis, operating systems, etc. Information Technology topics such as databases, web design, scripting languages, etc.

Student Learning Outcomes:
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles. (SLO4)
Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li (Spring, Fall), Mr. Barry Bruster (Summer)

Previous Professors:
Mr. Barry Bruster, Dr. Jiang Li

Technologies / Skills:
Research seminar

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 4805

Approved Starting Semester:
Fall 2018

Course Title:
Computer Science Capstone

Credit Hours:
3

Course Description (Bulletin Description):
Students will work in teams on a large project of their own design using the knowledge and skill gained from their classes. Teams will design, document, implement, and present their projects to the faculty.

Prerequisite:
Department Chair approval. May not be enrolled as the following classifications: Freshman Junior Sophomore

Co-requisite:
None

Pre/Co-requisite::
None

Course Objectives (Course-level Student Learning Outcomes):
1. Identify a software-oriented project or research problem, and the core design needed to develop the project or solve the research problem 2. Apply computer science principles and practices to a real-world problem, and evaluate their effectiveness. 3. Demonstrate the knowledge needed to solve the project or problem, and solve issues using the knowledge and skills gained from computer science curriculum 4. Identify potential solutions and algorithms for the project problem by recognizing patterns and modularizing the problem. 5. Work as a member of a team developing a significant software product, producing both individual work and collaborative work. 6. Demonstrate evidence of competency in oral and written communications skills through oral presentations and technical documentation. 7. Demonstrate the ability to learn new tools and techniques that are not necessarily covered in class.

Topics Covered (In Outline/Calendar):
Software design and development, technical presentations, technical documentation, source code control, team work, application of knowledge gained in earlier classes.

Student Learning Outcomes:
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
  • Communicate effectively in a variety of professional contexts. (SLO3)
  • Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline. (SLO5)
  • Apply computer science theory and software development fundamentals to produce computing-based solutions. (SLO6-CS)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. John Nicholson

Technologies / Skills:
Group project

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 4900

Approved Starting Semester:
Fall 2018

Course Title:
Special Problems in Computer Science

Credit Hours:
3

Course Description (Bulletin Description):
Selected topics of general interest.

Prerequisite:
Advanced standing in computer science

Co-requisite:
None

Pre/Co-requisite::
None

Course Objectives (Course-level Student Learning Outcomes):
N.A.

Topics Covered (In Outline/Calendar):
Selected topics of general interest.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. John Nicholson

Instructor-in-charge:
Dr. John Nicholson

Previous Professors:
Dr. John Nicholson, Dr. Saeid SamadiDana

Technologies / Skills:
Special Topics Suggested by Instructor

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 4905

Approved Starting Semester:
Fall 2021

Course Title:
Programming Team

Credit Hours:
1

Course Description (Bulletin Description):
A course for the preparation and training for the programming contests in which APSU participates, and for which the student wishes credit. The student is required to participate in at least one contest during the semester. Discussion of strategies and solutions is expected.

Prerequisite:
Permission of instructor

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Evaluate a set of problems for difficulty. 2. Understand the various approaches used in problem solving. 3. Write algorithms and code a solution to a competition level problem. 4. Present an analysis and a solution to a typical problem.

Topics Covered (In Outline/Calendar):
problem evaluation, algorithm analysis, data structures, dynamic programming, combinatorial problems, graph algorithms, computational geometry, string algorithms, competition strategies, software I/O

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. Saeid SamadiDana

Previous Professors:
Dr. James Church, Dr. Nicholas Coleman, Dr. Saeid SamadiDana

Technologies / Skills:
Programming Competition

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 4910

Approved Starting Semester:
Fall 2018

Course Title:
Topics Computer Science

Credit Hours:
1

Course Description (Bulletin Description):
Selected topics of general interest. May be repeated for credit.

Prerequisite:
Advanced standing in computer science

Co-requisite:
None

Pre/Co-requisite::
None

Course Objectives (Course-level Student Learning Outcomes):
N.A.

Topics Covered (In Outline/Calendar):
Selected topics of general interest.

Student Learning Outcomes:
  • Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions. (SLO1)
  • Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline. (SLO2)
Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church

Previous Professors:
Dr. James Church, Dr. Nicholas Coleman

Technologies / Skills:
Programming Competition

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 5005

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Introduction to Web Programming

Course Description (Bulletin Description):
This survey course provides an introduction to web development and web programming by using the essential programming languages that power modern web pages. Through a series of examples and programming assignments, students will learn basic programming concepts and build a solid foundation in computer programming through a client-side scripting language. A brief introduction to web page creation is achieved by using markup language to provide page content and using style sheets to format the content and the layout of the pages. The course primarily focuses on applying web programming concepts such as variables, data types, operators, loops, arrays, control structures, functions and event handling.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li

Previous Professors:
Dr. Yingbing Yu, Dr. Leong Lee, Dr. Jiang Li

Technologies / Skills:
HTML, CSS, JavaScript programming

Textbook(s):
Summer 2026
Title: Introduction to Javascript Programming with XML and PHP
Edition:
Author: Drake
Publisher: Pearson
ISBN: 9780133068306
Title: Murach's HTML5 and CSS3
Editon: 3rd
Author: Boehm, Ruvalcaba
Publisher: Murach
ISBN: 9781890774837
========================================


None
Course Number:
CSCI 5010

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Database Management Concepts

Course Description (Bulletin Description):
An introduction to the database development process, database methods of file storage, primitive databases and data warehousing. Topics include the relational model approach to database management, concepts of network and object oriented models, use of the SQL query languages and security and integrity policies in database management.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li

Previous Professors:
Dr. Yingbing Yu, Dr. Jiang Li, Dr. Alice Lin

Technologies / Skills:
Database design, SQL programming, Microsoft SQL Database

Textbook(s):
Spring 2026
Title: MODERN DATABASE MANAGEMENT
Edition: 14th
Author: Jeff Hoffer, Heikki Topi, Ramesh Venkataraman, Hillol Bala
Publisher: Pearson
ISBN: 9780135346853
========================================


None
Course Number:
CSCI 5015

Approved Starting Semester:
Fall 2025

Course Title:
Data Science

Course Description (Bulletin Description):
This course introduces scientific data methods, processes, and systems used to analyze and extract knowledge from structured and unstructured data. It covers the basics of data manipulation, cleaning techniques, processing, and visualization using modern data science libraries for data analysis.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4015

Course Objectives (Course-level Student Learning Outcomes):
By the end of the courses, students will be able to • Use a programming language along with data science libraries to process data. • Use a data science-appropriate environment to help process, visualize, and analyze data. • Read and clean data from structured and unstructured data files. • Write processed data to external data files in standard formats. • Manipulate data so that valuable information can be extracted. • Produce meaningful visualizations of data. • Apply basic statistical and machine learning algorithms for data analysis.

Topics Covered (In Outline/Calendar):
• Applying programming to data science • Environments for data science processing • File formats • Structured and unstructured data • File reading and writing • Data cleaning techniques • Statistical analysis of data • Data visualization • Machine learning algorithms

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Alice Lin

Instructor-in-charge:
Dr. Alice Lin

Previous Professors:
Dr. James Church, Dr. John Nicholson, Dr. Alice Lin

Technologies / Skills:
Python programming, data mining, machine learning

Textbook(s):
Spring/Summer 2026
Title: Python for Data Analysis
Edition: 3rd
Author: McKinney
Publisher: O'Reilly
ISBN: 9781098104030
========================================


None
Course Number:
CSCI 5020

Approved Starting Semester:
Fall 2022

Course Title:
Data Management Applications

Course Description (Bulletin Description):
An introductions to database features and administrator operations including components, instances, tables, indexes, and profiles SQL Server and Oracle. Students will learn database management tools including database deployment, user support, change-control procedures, planning for growth, and technology evaluation.

Prerequisite:
CSCI 5010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. The learner will describe the basic database management environment (CO 1) 2. The learner will practice using SQL Server Management Studio (CO 2) 3. The learner will practice using SQL Developer (CO 3) 4. The learner will develop queries with Structured Query Language (SQL) (CO 4) 5. The learner will practice management of transactions and security (CO5)

Topics Covered (In Outline/Calendar):
Database management tools including database deployment, user support, change control procedures, planning for growth, and technology evaluation

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Yingbing Yu (Spring), Dr. Jiang Li (Fall, Summer)

Previous Professors:
Dr. Yingbing Yu, Dr. Jiang Li

Technologies / Skills:
Database design, Microsoft SQL Database

Textbook(s):
Spring 2025
---------------------------------
Title: MURACH'S SQL SERVER 2022 FOR DEVELOPERS
Edition: 1st
Author: Bryan Syverson, Joel Murach
Publisher: Mike Murach & Associates
ISBN: 9781943873067
---------------------------------
Title: MURACH'S ORACLE SQL AND PL/SQL
Edition: 3RD
Author: Joel Murach
Publisher: Mike Murach & Associates
ISBN: 9781943873197
========================================


None
Course Number:
CSCI 5040

Approved Starting Semester:
Fall 2022

Course Title:
Big Data Modeling and Management

Course Description (Bulletin Description):
Using examples of real world big data problems, this course introduces the platforms and technologies including features and value of core architectural components, resource and job management systems, file systems, and programming models used for scalable big data analysis.

Prerequisite:
CSCI 5010 or CSCI 5015

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Learn the three V's of Big Data: velocity, variety, and volume 2. Be able to perform basic aggregations on large data sets 3. Be able to work with data in a variety of formats (CSV, JSON, SQL, Text) 4. Be able to identify which join is appropriate when joining data sets 5. Learn SQL for processing large data sets 6. Perform parallel in-core processing on small data 7. Perform parallel out-of-core processing on Big Data 8. Perform stream processing

Topics Covered (In Outline/Calendar):
• Introductions. What is Big Data? What is Spark? • How is data organized for parallel out-of-core processing? • What qualifies as Big Data? • Working with data types. • Aggregations and Joins. • Data Sources. • SQL in Big Data. • Low-level Distributed Programing. • How to run a cluster. • Developing Spark Applications. • Classification and Machine Learning. • Regression Analysis.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Kriti Chauhan

Instructor-in-charge:
Dr. Kriti Chauhan

Previous Professors:
Dr. James Church, Dr. Kriti Chauhan

Technologies / Skills:
Data modeling

Textbook(s):
Fall 2025
Title: Learning Spark: Lightning-Fast Data Analytics
Edition: 2
Author: Jules Damji, Brooke Wenig, Tathagata Das, Denny Lee
Publisher: O'Reilly Media
ISBN: 9781492050049
========================================


None
Course Number:
CSCI 5060

Approved Starting Semester:
Fall 2024

Course Title:
Graduate Server-side Web Development

Course Description (Bulletin Description):
This course covers the server-side development of web-based platforms. A server-side language will be used to respond to client-side data requests and generate dynamic results. The course will also cover reading from and writing to a database as part of server-side functionality.

Prerequisite:
CSCI 5020

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4000

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Apply programming concepts such as functions, data types, operators, and control structures in a server-side language. 2. Generate dynamic HTML, CSS, and data using a server-side language 3. Understand the different types of HTTP requests and respond appropriately in code. 4. Use standard design patterns to organize server-side code. 5. Design and develop database-driven web applications.

Topics Covered (In Outline/Calendar):
Web development with a server-side programming language Server-side programming language statements, control statements, arrays, data types, functions, objects Sending data from web forms to/from a back-end database Database for web application development Web-based design patterns Database-driven dynamic web applications. * Data validation * Dynamically generate HTML

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. Leong Lee

Previous Professors:
Dr. Leong Lee, Dr. John Nicholson

Technologies / Skills:
PHP programming, Apache Web Server, MySQL/MariaDB Database, AJAX

Textbook(s):
Summer/Spring 2026
Title: Murach's PHP and MySQL
Edition: 4th
Author: Murach
Publisher: Murach
ISBN: 9781943873005
========================================


None
Course Number:
CSCI 5080

Approved Starting Semester:
Fall 2025

Course Title:
Data Mining

Course Description (Bulletin Description):
This course introduces basic data mining concepts, applications, and techniques. Students will explore the process of data mining, learn various data mining methods including clustering, decision trees, association rules, statistical learning tools, and will apply the techniques in solving practical problems using data mining systems.

Prerequisite:
CSCI 5010

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. Describe the concepts of data mining 2. Discuss the techniques of data visualization 3. Analyze data and discuss data preprocessing techniques 4. Explain and apply data warehouse technology 5. Apply frequent itemset mining methods 6. Discuss and apply classification method

Topics Covered (In Outline/Calendar):
See previous submissions

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li

Previous Professors:
Dr. Jiang Li

Technologies / Skills:
Data mining

Textbook(s):
Summer/Spring 2026
Title: Data Mining: Concepts and Techniques
Edition: 4th
Author: HAN
Publisher: Morgan Kaufmann
ISBN: 9780128117606
========================================


None
Course Number:
CSCI 5095

Approved Starting Semester:
Fall 2022

Course Title:
Data Mining Project

Course Description (Bulletin Description):
Students will work on an appropriate research project in data mining and use practical data mining systems to discover patterns from real business data. They will also evaluate and interpret these mined patterns.

Prerequisite:
CSCI 5080

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
1. The learner will explain the components of Business Intelligence (BI) (CO1) 2. The learner will construct BI models using SQL Server Data Tools (SSDT) (CO 2) 3. The learner will design apps for SQL Server Integration Services (SSIS) (CO3) 4. The learner will build BI semantic models using SQL Server Analysis Services (SSAS) (CO 4) 5. The learner will create data mining models SSDT (CO 5) 6. The learner will apply BI client tools to assess the results (CO 6)

Topics Covered (In Outline/Calendar):
See previous submission

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li

Previous Professors:
Dr. Jiang Li

Technologies / Skills:
Data mining, research project

Textbook(s):
Spring 2026
---------------------------------
Title: Learn Microsoft Power BI: A comprehensive, beginner-friendly guide to real-world business intelligence
Edition: 3rd
Author: Greg Deckler
Publisher‏: ‎ Packt Publishing
ISBN: ‎9781836647416
========================================


None
Course Number:
CSCI 5200

Approved Starting Semester:
Fall 2021

Course Title:
Principles of Information Security

Credit Hours:
3

Course Description (Bulletin Description):
This course is an introduction to the technical and management aspects of information security and assurance. The course provides a foundation in understanding issues associated with security in computing including security threats and controls, protection of computer systems and data, use of technology such as firewalls, cryptography, and intrusion detection systems, response to security incidents, laws and ethics relating to information security, and an overview of the development of an Information Security Plan.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4200

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Develop skills of inquiry, abstract and logical thinking, and critical analysis of information security issues and practices 2. Understand and prioritize information assets 3. Recognize vulnerabilities and strategies for securing networked computer systems in a global environment 4. Identify tools and techniques for combating threats to information assets 5. Describe legal and ethical implications of security and privacy issues 6. Understand risk management 7. Define an information security strategy and architecture

Topics Covered (In Outline/Calendar):
a. Intro Security and Security Trends b. General Security Concepts c. Operational and Organizational Security d. The Role of People in Security e. Cryptography f. Public Key Infrastructure g. Standards and Protocol h. Physical Security i. Network Fundamentals j. Infrastructure Security k. Authentication and Remote Access l. Wireless Security m. Intrusion Detection Systems n. Baselines o. Types of Attacks and Malware p. Secure Software Development q. Email and IM r. Web Components s. Disaster Recovery, Business Continuity t. Risk Management u. Change Management v. Privilege Management w. Computer Forensics x. Legal Issues and Ethics y. Privacy

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. James Church

Instructor-in-charge:
Dr. James Church (Spring, Fall)

Previous Professors:
Mr. Barry Bruster, Dr. Mir Hasan, Mr. Barry Bruster, Dr. James Church

Technologies / Skills:
Information security theories

Textbook(s):
Summer/Spring 2026
Title: CompTIA Security+ Certification Kit: Exam SY0-701 (Sybex Study Guide)
Edition: 7TH
Author: Chapple
Publisher: Sybex
ISBN: 978-1394211449
========================================


None
Course Number:
CSCI 5520

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Network Security

Course Description (Bulletin Description):
An examination of the tools techniques, and technologies used in the securing of information assets via networks. Topics covered include network operating system security, security of transmissions, firewall configuration, vulnerabilities and hardening of network components. Web and distributed system security, and procedures dealing with storage and disposition of sensitive data.

Prerequisite:
CSCI 5200 or instructor permission;

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Network security theories

Textbook(s):
Spring/Summer 2025
---------------------------------
Title: NETWORK SECURITY ESSENTIALS: APPLICATION AND STANDARDS
Edition: 6TH
Author: STALLLINGS
Publisher: PEARSON
ISBN: 9780134527338
---------------------------------
Title: Kali Linux Penetration Testing Bible
Edition: 1ST
Author: Gus Khawaja
Publisher: Wiley
ISBN: 9781119719083
========================================


None
Course Number:
CSCI 5600

Approved Starting Semester:
Fall 2020

Course Title:
Computer Ethics

Credit Hours:
3

Course Description (Bulletin Description):
Study and analysis of the social, legal and ethical issues that arise from the presence of computers in society. Problems are posed and solutions discussed from the view point of the computer professional. Topics include computer viruses, spyware, spam, life-critical systems and privacy issues.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Topics Covered:

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Saeid SamadiDana

Instructor-in-charge:
Dr. Saeid SamadiDana

Previous Professors:
Mr. Leonard Tharpe, Dr. Saeid SamadiDana

Technologies / Skills:
Ethical issues

Textbook(s):
Summer/Spring 2026
Title: GIFT OF FIRE
Edition: 5TH 18
Author: BAASE
Publisher: PEARSON
ISBN: 9780134615271
========================================


None
Course Number:
CSCI 5611

Approved Starting Semester:
Fall 2020

Course Title:
Computer Forensics and Incident Response

Credit Hours:
3

Course Description (Bulletin Description):
This course addresses the topics of computer forensics, incident response, cyber-crime and terrorism, cybercrime investigation and prosecution. Students will learn about computer forensics, extracting and proper handling of evidence, and how an organization can setup a security response team, prepare for and manage security incidents.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4611

Course Objectives (Course-level Student Learning Outcomes):
Topics Covered:

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Saeid SamadiDana

Instructor-in-charge:
Dr. Saeid SamadiDana

Previous Professors:
Mr. Leonard Tharpe, Dr. Saeid SamadiDana

Technologies / Skills:
Computer security incident response

Textbook(s):
Fall/Summer 2025
Title: GUIDE TO COMPUTER FORENSICS AND INVESTIGATIONS
Edition: 6TH 19
Author: NELSON
Publisher: CENGAGE L
ISBN: 9781337568944
========================================


None
Course Number:
CSCI 5612

Approved Starting Semester:
Fall 2020

Course Title:
Securing Cyberspace (Web, DB, and Platforms)

Credit Hours:
3

Course Description (Bulletin Description):
In this course, students will learn how to secure an organization's technological infrastructure, including topics on operating system platforms/hardware, virtual machines, mobile devices, web servers, database servers, additional network components, anti-malware, public facing applications, host-based intrusion detection/prevention, firewalls, and audit and compliance. Course includes laboratory work using Linux and Windows.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4612

Course Objectives (Course-level Student Learning Outcomes):
Topics Covered:

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Sabrina Perry

Instructor-in-charge:
Dr. Sabrina Perry

Previous Professors:
Dr. Majdi Lusta, Dr. Sabrina Perry

Technologies / Skills:
Secure technological infrastructure, Linux OS, Windows OS

Textbook(s):
Fall 2025
---------------------------------
Title: NAVIGATE EBOOK ACCESS FOR SECURITY STRATEGIES IN LINUX PLATFORMS AND APPLICATIONS WITH CLOUD LAB ACCESS
Edition: 3RD
Author: JANG
Publisher: JONES+BART
ISBN: 9781284255980
---------------------------------
Title: NAVIGATE EBOOK ACCESS FOR SECURITY STRATEGIES IN WINDOWS PLATFORMS AND APPLICATIONS WITH CLOUD LABS
Edition: 4TH
Author: SOLOMON
Publisher: JONES+BART
ISBN: 9781284282023
========================================


None
Course Number:
CSCI 5613

Approved Starting Semester:
Fall 2020

Course Title:
Cryptography

Credit Hours:
3

Course Description (Bulletin Description):
This course introduces students to the methods of cryptography and cryptanalysis. Topics include classical cryptography, modern cryptographic techniques (symmetric key algorithms, asymmetric key algorithms), cryptographic hash functions, current and historical example uses of cryptography, and public key cryptography.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4613

Course Objectives (Course-level Student Learning Outcomes):
Topics Covered:

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Nicholas Coleman

Instructor-in-charge:
Dr. Nicholas Coleman

Previous Professors:
Dr. Nicholas Coleman

Technologies / Skills:
Cryptography algorithms

Textbook(s):
Spring 2026
Title: SERIOUS CRYPTOGRAPHY: A PRACTICAL INTRODUCTION TO MODERN ENCRYPTION
Edition:
Author: Green
Publisher: Pollock
ISBN: 9781593278267
========================================


None
Course Number:
CSCI 5617

Approved Starting Semester:
Fall 2021

Course Title:
Security Policy and Governance

Credit Hours:
3

Course Description (Bulletin Description):
This course covers policy development through monitoring and governance stages - policies such as privacy, acceptable use, physical security, breach disclosure, data collection and retention policies, cloud security, and supply chain are covered. Best-in-class methodologies will be used to create security policy that will communicate the organization's asset protection objectives.

Prerequisite:
CSCI 5200;

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4617

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Identify the role of an information systems security (ISS) policy framework in overcoming business challenges. 2. Analyze how security policies help mitigate risks and support business processes in various domains in the information technology (IT) infrastructure. 3. Describe the components and basic requirements for creating a security policy framework. 4. Describe the different methods, roles, responsibilities, and accountabilities of personnel, along with the governance and compliance of security policy framework. 5. Describe the different ISS policies associated with the user domain. 6. Describe the different ISS policies associated with the IT infrastructure. 7. Describe the different ISS policies associated with risk management. 8. Describe the different ISS policies associated with incident response teams (IRT). 9. Describe different issues related to implementing and enforcing ISS policies. 10. Describe the different issues related to defining, tracking, monitoring, reporting, automating, and configuration of compliance systems and emerging technologies.

Topics Covered (In Outline/Calendar):
• Privacy policy • Privacy and civil liberties/legal foundations of privacy protection • Acceptable use policy • Physical security policy • Inference controls/statistical disclosure limitation • Backup policy, password refresh policy • Breach disclosure policy • Data collection and retention policies • Supply chain policy • Cloud security tradeoffs

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Majdi Lusta

Instructor-in-charge:
Dr. Majdi Lusta

Previous Professors:
Dr. Majdi Lusta

Technologies / Skills:
Security policy

Textbook(s):
Fall 2024
---------------------------------
Title: SECURITY POLICIES AND IMPLEMENTATION ISSUES
Edition: 3RD
Author: JOHNSON
Publisher: O'REILLY
ISBN: 9781284199840
---------------------------------
Title: THEORY LABS FOR SECURITY POLICIES AND IMPLEMENTATION ISSUES
Edition: 3RD
Author: JOHNSON
Publisher: O'REILLY
ISBN: 9781284199932
========================================


None
Course Number:
CSCI 5619

Approved Starting Semester:
Fall 2025

Course Title:
Graduate Ethical Hacking and Offensive Security

Course Description (Bulletin Description):
This course will instruct students in techniques used by hackers to identify vulnerabilities and facilitate the development of solutions for hardening systems and improving system and network security. Effective use of penetration testing tools and the use of proactive offensive security tactics will be emphasized.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4619

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: • Produce a penetration test authorization and rules of engagement document • Contrast penetration testing methodologies • Derive system reconnaissance and network scan to detect open ports and vulnerable systems • Elaborate social engineering techniques for a penetration test • Compile penetration test scanning results to exploit vulnerabilities • An understanding of Offensive techniques.

Topics Covered (In Outline/Calendar):
• Phases of Penetration Testing • Footprinting • Scanning • Enumeration • System Hacking • Trojans Viruses & Worms • Sniffing Traffic • Social Engineering • Denial of Service • Session Hijacking • Hacking Web Servers • Web Applications • SQL Injection • Wireless • Mobile Hacking • IDS, Firewalls & Honeypots • Buffer Overflows • Cryptography • NAC-Checks - Machine Data Gathering • Annoyance - false ports, services, and directories • Attribution - Attacker Identification (Web bugs)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Mr. Barry Bruster

Instructor-in-charge:
Mr. Barry Bruster

Previous Professors:
Mr. Barry Bruster

Technologies / Skills:
Techniques used by hackers, hardening systems, penetration testing

Textbook(s):
Summer 2025
Title: Ethical Hacking: Techniques, Tools, and Countermeasures
Edition: 4TH
Author: ORIYANO
Publisher: JONES+BART
ISBN: 978-1284248999
========================================


None
Course Number:
CSCI 5624

Approved Starting Semester:
Fall 2021

Course Title:
Risk Management

Credit Hours:
3

Course Description (Bulletin Description):
This course addresses the broad topic of risk management and how risk, threats, and vulnerabilities impact information systems. Areas of instruction include how to assess and manage risk based on defining an acceptable level of risk for information systems. Elements of a business impact analysis, business continuity plan, and disaster recovery plan will also be discussed.

Prerequisite:
CSCI 5200;

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4624

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain the basic concepts of and need for risk management. 2. Explain methods of mitigating risk by managing threats vulnerabilities, and exploits. 3. Identify compliancy laws, standards, best practices, and policies of risk management. 4. Describe the components of an effective organizational risk management program. 5. Describe techniques for identifying and analyzing relevant threats, vulnerabilities, and exploits. 6. Describe the process of performing risk assessments. 7. Identify assets and activities to protect within an organization. 8. Identify threats, vulnerabilities, and exploits. 9. Identify risk mitigation security controls. 10. Describe concepts for planning risk mitigation throughout an organization. 11. Describe concepts for implementing a risk mitigation plan. 12. Perform a business impact analysis. 13. Create a business continuity plan (BCP) based on the findings of a given risk assessment for an organization. 14. Create a disaster recovery plan (DRP) based on the findings of a given risk assessment for an organization. 15. Create a computer incident response team (CIRT) plan for an organization.

Topics Covered (In Outline/Calendar):
• Threats and Adversaries • Vulnerabilities and Risks • Basic Risk Assessment • The audit process • Security Life-Cycle • Intrusion Detection and Prevention Systems • Cryptography • Data Security (in transmission, at rest, in processing) • Security Models • Access Control Models (MAC, DAC, RBAC) • Security Mechanisms (e.g., Identification/ Authentication, Audit) • Definition of "vulnerability" • Social Engineering Vulnerabilities • Vulnerability characteristics • Root causes of vulnerabilities • Administrative Privileges and Their Effect on Vulnerabilities • Mitigation strategies • Tools and Techniques for Identifying Vulnerabilities

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Mir Hasan

Previous Professors:
Dr. Mir Hasan

Technologies / Skills:
Assessment of system vulnerability

Textbook(s):
Summer/Spring 2026
Title: Managing Risk Information Systems
Edition: 2nd
Author: Gibson
Publisher: Jones + Bartlett
ISBN: 9781284055955
========================================


None
Course Number:
CSCI 5625

Approved Starting Semester:
Fall 2025

Course Title:
Graduate Intrusion Detection and Prevention

Course Description (Bulletin Description):
This course covers an in-depth study of the theory and practice of intrusion detection and prevention in cyberspace. Topics include network security, monitoring, auditing, intrusion detection, intrusion prevention, and ethical penetration testing. Emphasis is on methods to identify threats and prevent attacks.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4625

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain network traffic fundamentals 2. Define components and types of intrusion detection 3. Compare intrusion detection vs. intrusion prevention systems (IDS & IPS) 4. Explain and implement network and host intrusion detection systems 5. Design and apply network traffic signatures 6. Define and discuss effective use of prevention/decoy systems. 7. Integrate IDS/IPS devices into network and firewall design 8. Analyze logging data to locate intrusion patterns 9. Classify and respond to network intrusion incidents 10. Develop and document appropriate response to intrusion and other management aspects.

Topics Covered (In Outline/Calendar):
• Deep Packet Inspection • Log File Analysis • Log Aggregation • Cross Log Comparison and Analysis • Anomaly Detection • Misuse Detection (Signature Detection) • Specification-based Detection • Host-based Intrusion Detection and Prevention • Network-based Intrusion Detection and Prevention • Distributed Intrusion Detection • Hierarchical IDSes • Honeynets/Honeypots

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu, Mr. Barry Bruster

Technologies / Skills:
Intrusion detection and prevention in cyberspace

Textbook(s):
Spring 2026
---------------------------------
Title: Network Security, Firewalls, and VPNs, Fourth Edition
ISBN: 9781284302509
Edition: 4th
Author: Denise Kinsey
Publisher: Jones & Bartlett Learning
---------------------------------
Title: IDS and IPS with Snort 3: Get up and running with Snort 3 and discover effective solutions to your security issues
ISBN: 9781800566163
Edition: 1st
Author: Ashley Thomas
Publisher: Packt Publishing
========================================


None
Course Number:
CSCI 5628

Approved Starting Semester:
Fall 2025

Course Title:
Graduate Defensive Programming

Course Description (Bulletin Description):
This course provides in-depth coverage of defensive programming techniques. Topics include: input validation and data sanitization, choice of programming language and type-safe languages, examples of common vulnerabilities and coding errors, and secure coding practices.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4628

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Explain why input validation and data sanitization is necessary in the face of adversarial control of the input channel. 2. Explain why you might choose to develop a program in a type-safe language like Java, in contrast to an unsafe programming language like C/C++. 3. Classify common input validation errors, and write correct input validation code. 4. Demonstrate using a high-level programming language how to prevent a race condition from occurring and how to handle an exception. 5. Demonstrate the identification and graceful handling of error conditions. 6. Explain the risks with misusing interfaces with third-party code and how to correctly use third-party code. 7. Discuss the need to update software to fix security vulnerabilities and the lifecycle management of the fix. 8. List examples of direct and indirect information flows. 9. Explain the role of random numbers in security, beyond just cryptography (e.g. password generation, randomized algorithms to avoid algorithmic denial of service attacks). 10. Explain the different types of mechanisms for detecting and mitigating data sanitization errors. 11. Demonstrate how programs are tested for input handling errors. 12. Use static and dynamic tools to identify programming faults. 13. Describe how memory architecture is used to protect runtime attacks.

Topics Covered (In Outline/Calendar):
* input validation * data sanitization * choice of programming language and type-safe languages * examples of common vulnerabilities and coding errors * secure coding practices

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
None

Instructor-in-charge:
None

Previous Professors:
None

Technologies / Skills:
Defensive programming techniques

Textbook(s):
Spring 2024
Title: SECURE CODING IN C AND C++
Edition: 2ND
Author: Seacord
Publisher: Pearson
ISBN: 9780321822130
========================================


None
Course Number:
CSCI 5632

Approved Starting Semester:
Fall 2025

Course Title:
Graduate Secure Software Engineering

Course Description (Bulletin Description):
This course covers the fundamentals of secure coding practices focusing on building security into the software development lifecycle. Topics include: software development lifecycle, secure design principles and patterns, secure software specifications and requirements, secure software development practices, and secure testing and quality assurance.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4632

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Describe the requirements for integrating security into the software development lifecycle. 2. Apply the concepts of the Design Principles for Protection Mechanisms, the Principles for Software Security, and the Principles for Secure Design on a software development project. 3. Develop specifications for a software development effort that fully specify functional requirements and identifies the expected execution paths. 4. Describe software development best practices for minimizing vulnerabilities in programming code. 5. Conduct a security verification and assessment (static and dynamic) of a software application.

Topics Covered (In Outline/Calendar):
• software development lifecycle • secure design principles and patterns • secure software specifications and requirements • secure software development practices • secure testing and quality assurance.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Mir Hasan

Previous Professors:
Dr. Mir Hasan, Mr. Barry Bruster

Technologies / Skills:
Secure coding practices in software development lifecycle

Textbook(s):
Fall 2021
Title: ALL IN ONE CSSLP EXAM GUIDE-W/CD
Edition: 13
Author: CONKLIN
Publisher: MCG
ISBN: 9780071760263
========================================


None
Course Number:
CSCI 5635

Approved Starting Semester:
Fall 2025

Course Title:
Graduate Malware Analysis and Countermeasures

Course Description (Bulletin Description):
This course covers the fundamentals of malware analysis and countermeasures. Topics include: anti-malware analysis techniques, debugging concepts and tools, an examination of malware behavior, network indicators and malware countermeasures. Students will learn how to detect, analyze, reverse-engineer and eradicate malware. Real-world examples of malware will be studied.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4635

Course Objectives (Course-level Student Learning Outcomes):
Upon successful completion of this course: 1. Students will be able to apply the tools and methodologies used to perform static and dynamic analysis on unknown executable(s). 2. Students will know how to infer the functionality of a program by analyzing disassembly and observing the changes on the system as it runs. 3. How to extract investigative leads from host and network-based indicators associated with a malicious program; and how to identify specific coding constructs in disassembly. 4. Students will also know the art of dynamic analysis and about Windows APIs most often used by malware authors.

Topics Covered (In Outline/Calendar):
1. Basic Static Analysis, Basic Dynamic Analysis Basic Static Analysis 2. x86, IDA, Code Constructs 3. WinAPI, Handles, Windows Internals, Networking, CODE 4. Debugging Concepts and Tools 5. Malicious Activities and Techniques 6. Hiding Data, Malware Countermeasures, 7. Covert Launching and Execution 8. Anti Disassembly, VM, Debugging, AV 9. Packers, Packing, and Unpacking 10. Kernel Basics, Windows Kernel API, Windows Drivers, Kernel Debugging 11. Hooking, Patching, Kernel Object Manipulation 12. Covert Channels, AntiForensic

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Mr. Barry Bruster

Instructor-in-charge:
Mr. Barry Bruster

Previous Professors:
Mr. Barry Bruster

Technologies / Skills:
anti-malware analysis techniques

Textbook(s):
Fall 2025
---------------------------------
Title: Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
Edition: 1
Publisher: No Starch Press
Author: Sikorski
ISBN: 9781593272906
---------------------------------
Title: LEARNING MALWARE ANALYSIS
Edition: 18
Author: MONNAPPA
Publisher: PACKT PUB
ISBN: 9781788392501
========================================


None
Course Number:
CSCI 5640

Approved Starting Semester:
Fall 2021

Course Title:
Information Assurance and Security Leadership

Credit Hours:
3

Course Description (Bulletin Description):
This course presents the latest approaches in information security and a practicum to demonstrate competency in the design and implementation of a successful cyber-security organization. Learning objectives are met through a combination of faculty instruction, current content, and active exchange with other leaders in information security management.

Prerequisite:
CSCI 5200

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4640

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Develop Strategic plan to address security 2. Build Structure for Cybersecurity Risk management 3. Perform a resource allocation budgeting for security 4. Identify outsourcing opportunities 5. Collect and utilize information about cyber attacks 6. Manage information assurance and security proactive countermeasures

Topics Covered (In Outline/Calendar):
• Introduction CISO Roadmap • Cyber Risk Management • Enterprise Security Governance & Planning • Security Metrics & Operational Resilience • External Dependency Management • Security Structure & Operations • Security Financial Management: Resource allocation budgeting for security • Effective Communication Strategies: Crisis & Board • Security Strategy & Innovation • Threat & Incident Response & Counter measures • Managing Operational Threat Building an Insider Threat Program • Cyber Law & Compliance • A Realistic View of Security Technology Digital Transformation: Security Implications • Identifying outsourcing and cloud provides

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Mr. Barry Bruster

Instructor-in-charge:
Mr. Barry Bruster

Previous Professors:
Mr. Barry Bruster

Technologies / Skills:
Cyber-security organization.

Textbook(s):
Fall 2025
Title: CISO COMPASS: NAVIGATING CYBER SECURITY
Edition: 1ST 19
Author: FITZGERALD
Publisher: CISO
ISBN: 9780367486020
========================================


None
Course Number:
CSCI 5670

Approved Starting Semester:
Fall 2021

Course Title:
Enterprise Virtualization

Credit Hours:
3

Course Description (Bulletin Description):
This course covers the concepts of virtualization and enterprise-level virtual infrastructure management.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4670

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Describe types of virtualization and the concepts of server, network, storage, and desktop virtualization. 2. Understand the types of cloud computing and deployment models 3. Evaluate and apply technology resources by installing, configuring, updating and managing an enterprise virtual infrastructure. 4. Apply the procedures presented in a “how to” document or tutorial to perform tasks successfully. 5. Identify abnormal behavior in a complex computing system, make hypothesis on how to address it, and implement solutions. 6. Understand the importance of security, high availability, fault tolerance in a virtual environment. 7. Monitor and manage the virtual infrastructure performance, resource utilization and allocation. 8. Automate and orchestrate routine administrative tasks.

Topics Covered (In Outline/Calendar):
Virtualization and hypervisors, cloud computing, VMWare ESXi Server, vCenter Server, vSphere network, vSphere high-availability and fault tolerance, securing vSphere, managing virtual machines and templates, vSphere vMotion, performance monitoring, automation.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Network applications and servcies

Textbook(s):
Fall 2025
Title: AWS Certified Cloud Practitioner Study Guide With 500 Practice Test Questions: Foundational (CLF-C02) Exam
Edition: 2
Author: Ben Piper, David Clinton
Publisher: Sybex
ISBN: 9781394235643
========================================


None
Course Number:
CSCI 5760

Approved Starting Semester:
Fall 2021

Course Title:
Linux System Administration

Credit Hours:
3

Course Description (Bulletin Description):
This course provides a comprehensive introduction to the Linux operating system as well as system administration principles and practices on Linux.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
CSCI 4760

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to 1. Evaluate and apply technology resources by installing, configuring, and managing a Linux server and relevant services and applications 2. Remember and understand factual knowledge relevant to system administration tools and technologies. 3. Apply the procedures presented in a “how to” document or tutorial to perform a system administration task successfully. 4. Review alternative system administration technologies or solutions based on requirements in order to make recommendation on the most suited. 5. Identify abnormal behavior in a computing system, make hypothesis on how to address it, and implement solutions. 6. Understand the importance of maintaining a secure Linux server, manage system and network security using different techniques.

Topics Covered (In Outline/Calendar):
Installation and configuration, command line, disks and file systems, permissions, ACLs, SELinux, users and groups, shell scripting, networking, firewall, NFS, Samba, DNS, Web Server.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Yingbing Yu

Instructor-in-charge:
Dr. Yingbing Yu

Previous Professors:
Dr. Yingbing Yu

Technologies / Skills:
Linux OS

Textbook(s):
Summer 2025
Title: LINUX BIBLE
Edition: 10TH 20
Author: NEGUS
Publisher: WILEY
ISBN: 9781119578888
========================================


Course Number:
CSCI 5899

Approved Starting Semester:
Summer 2018

Course Title:
Graduate Work Experience

Credit Hours:
3

Course Description (Bulletin Description):
Graduate students will have a computer-related work assignment in a business environment. Students will document their experience according to standards established by the department. Students may repeat the course up to a total of 10 hours credit upon approval of the department chair.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Course Objectives (Course-level Student Learning Outcomes):
1. Ability to apply information in detailed business applications. 2. Ability to manage and work with business information. 3. Ability to use business data to support decision making. 4. Ability to supply management information as requested.

Topics Covered (In Outline/Calendar):
This course will give credit for graduate student work experience in a business environment. The student must have a written job offer from the employer.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. James Church, or Dr. Leong Lee

Previous Professors:
Dr. Nicholas Coleman, Dr. James Church, Dr. Leong Lee

Technologies / Skills:
Work experience

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 5900

Approved Starting Semester:
Fall 2021

Course Title:
Master's Internship Project

Credit Hours:
3

Course Description (Bulletin Description):
This is a supervised internship course resulting in completion of a capstone project. Each student is assigned to an industry partner and works with this partner at least 15 hours per week for one semester on a project involving data-driven decision making.

Prerequisite:
CSCI 5095 or a minimum 3.0 GPA before enrolling to this class and permission of instructor;

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
At the completion of the course, the student will be able to: 1. Demonstrate competency in a selected area of computer science, information technology, data management/analysis and/or predictive analytics, by working for an assigned employer on an appropriate project. 2. Perform meaningful work assignments in a host organization, on an appropriate project in the student’s area of expertise.

Topics Covered (In Outline/Calendar):
• Work/study experience in a host organization. • On-the-job work experience.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Leong Lee

Instructor-in-charge:
Dr. Leong Lee

Previous Professors:
Dr. James Church, Dr. Leong Lee

Technologies / Skills:
Capstone internship project

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 5910

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Master’s Systems Development Project

Course Description (Bulletin Description):
A supervised computer system development program resulting in completion of a capstone project.

Prerequisite:
CSCI 5095 or a minimum 3.0 GPA before enrolling in this class and permission of instructor;

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Jiang Li

Instructor-in-charge:
Dr. Jiang Li

Previous Professors:
Dr. Jiang Li

Technologies / Skills:
Capstone computer system development project

Textbook(s):
No Textbook Required
========================================


None
Course Number:
CSCI 5920

Approved Starting Semester:
Paper Form (Before Curriculog, Approved before 2017)

Course Title:
Master’s Research Project/Thesis

Course Description (Bulletin Description):
A supervised computing research program resulting in completion of a capstone project.

Prerequisite:
CSCI 5095 or a minimum 3.0 GPA before enrolling to this class and permission of instructor;

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
N.A. (Paper Form)

Topics Covered (In Outline/Calendar):
N.A. (Paper Form)

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
Dr. Mir Hasan

Previous Professors:
Dr. Jiang Li, Mr. Barry Bruster

Technologies / Skills:
Capstone research project

Textbook(s):
Summer/Spring 2026
Title: HOW TO WRITE A MASTER'S THESIS
Edition: 3RD 20
Author: BUI
Publisher: SAGE
ISBN: 9781506336091
========================================


None
Course Number:
CSCI 5930

Approved Starting Semester:
Fall 2022

Course Title:
Graduate Special Problems

Course Description (Bulletin Description):
Selected topics of general interest. Specific topics may be developed by faculty or by students in consultation with a faculty member. May be repeated up to six (6) credit hours with chair approval.

Prerequisite:
None

Co-requisite:
None

Pre/Co-requisite::
None

Dual-Listed:
None

Course Objectives (Course-level Student Learning Outcomes):
Outcomes will be selected by the faculty and students creating and participating in the course.

Topics Covered (In Outline/Calendar):
Topics will be selected by the faculty and students creating and participating in the course.

Student Learning Outcomes:
Not applicable for this course

Course Coordinator:
Dr. Mir Hasan

Instructor-in-charge:
N.A.

Previous Professors:
N.A.

Technologies / Skills:
Graduate Topic of Interest

Textbook(s):
N.A.
========================================


Student Learning Outcomes:
Not applicable for this course