Apr 25, 2024  
2021-2022 Academic Catalog June 1, 2021- May 31, 2022 
    
2021-2022 Academic Catalog June 1, 2021- May 31, 2022 [ARCHIVED CATALOG]

Course Descriptions


 

Computer Science

  
  • CS 151 Introduction to Computer Science

    (3)
    What is Computer Science? How do you tell a computer what to do? An introduction to the field of Computer Science and algorithmic problem solving. Topics include: Variables, Data Types, Decision and Repetition Statements, Functions, File Manipulation, and Lists. 


    Three (3) hours lecture.
(3)
  
  • CS 220 Special Topics

    (3)
    Prerequisites: Specified by instructor.
    Extended study in specific topics in Computer Science.  Specified topics to be announced and indicated by title on transcript.  May be taken for credit repeatedly.


    Three (3) hours lecture.
(3)
  
  • CS 221 Computer Networking

    (3)
    Prerequisites: CS 151  with a grade of C or better.
    Principles of computer networks. Protocol design and implementation, network security, distributed and cluster computing.


    Three (3) hours lecture.
(3)
  
  • CS 232 Introduction to Computer Security

    (3)
    Prerequisites: CS 151   with a grade of C or better.
    What are the risks involved with computing and how can we address them? An overview of risks, threats, and vulnerabilities related to computing. 


    Three (3) hours lecture.
(3)
  
  • CS 252 Data Structures and Object-Oriented Programming

    (3)
    Prerequisites: CS 151  with a grade of C or better.
    What are common tools that we use to solve problems and organize computer code? An introduction to object-oriented programming concepts, fundamental data structures and algorithms, the construction of graphic user interfaces, and the software development life-cycle. Topics include classes, inheritance, polymorphism, stacks, queues, linked lists, binary trees, hash tables, graphs, searching and sorting algorithms. 


    Three (3) hours lecture.
(3)
  
  • CS 253 Software Engineering

    (3)
    Prerequisites: CS 151  with a grade of C or better.
    How do you design and construct large pieces of software in teams? What is quality software? Techniques for designing, building, testing, deploying, and maintaining large scale software systems. Topics include agile software development, software evolution, ethics, project planning and management, quality and reliability measurement, and configuration management. 


    Three (3) hours lecture.
(3)
  
  • CS 261 Introduction to Intelligent Systems

    (3)
    Prerequisites: CS 151   with a grade of C or better.
    What does it mean for a computer to be considered “intelligent”? Characteristics and application of systems that exhibit human-like behavior. Topics include supervised, reinforcement, and unsupervised learning.


    Three (3) hours lecture.
(3)
  
  • CS 272 Human Centered Design

    (3)
    Prerequisites: CS 151  with a grade of C or better. 
    How do we create interfaces that are easy for humans to use? What ways do computers impact humans? Exploration of the impact of computing on society. Topics include graphical user interface design, ethical considerations in computing, laws and policies related to computing. 


    Three (3) hours lecture.
(3)
  
  • CS 281 Linux System Administration

    (3)
    Prerequisites: CS 151  with a grade of C or better.
    What is Linux and how is it used in organizations? An introduction to administering multi-user servers running the Linux operating systems. Topics include fundamental Linux commands, package management, shell scripting, and configuration management tools. 


    Three (3) hours lecture.
(3)
  
  • CS 282 Database and Information Management

    (3)
    Prerequisites: CS 151  with a grade of C or better.
    How can we effectively organize and access large amounts of information? Topics include data modeling and normalization, database design, change management, structured query language, regulatory compliance, and disaster recovery.


    Three (3) hours lecture.
(3)
  
  • CS 283 Data Analytics

    (3)
    Prerequisites: CS 151  with a grade of C or better.
    How can we use large amounts of data to make decisions? The manipulation, analysis, visualization, and presentation of large data sets. Applications of machine learning algorithms to make predictions based on data.


    Three (3) hours lecture.
(3)
  
  • CS 320 Special Topics

    (3)
    Prerequisites: Specified by instructor.
    Extended study in specific topics in Computer Science.  Specified topics to be announced and indicated by title on transcript.  May be taken for credit repeatedly.


    Three (3) hours lecture.
(3)
  
  • CS 325 Computer Organization and Hardware

    (3)
    Prerequisites: CS 252  with a grade of C or better.
    How is your computer built from the ground up? How does the machine impact software? Fundamentals of computer hardware. How computer hardware works from the bottom up, starting at the circuit level and ending at the operating system level. Topics include boolean logic and circuits, boolean arithmetic, assembly language, CPU architecture, memory organization, assembler implementation, syntax analysis and code generation.


    Three (3) hours lecture.
(3)
  
  • CS 326 Undergraduate Teaching Assistant

    (1)
    Prerequisites: Permission of instructor.
    Supervised experience as instructional assistant for college courses in computer science. Emphasis on applying modern pedagogical practices. Students will actively attend at least two lecture sections per week with additional time committed to assessment, course development, or tutoring. Repeatable for credit.


(1)
  
  • CS 331 Digital Forensics and Incident Response

    (3)
    Prerequisites: CS 232 
    How do we deal with the aftermath of a computer security incident? Topics include digital investigative techniques, gathering and assessment of evidence. 


    Three (3) hours lecture.
(3)
  
  • CS 332 Network Security

    (3)
    Prerequisites: CS 232 
    How do we defend against cyber attacks? An overview of strategies for cyber attack and defense. Penetration testing. 


    Three (3) hours lecture.
(3)
  
  • CS 333 Secure Coding

    (3)
    Prerequisites: CS 232  
    How can we create software that is safe from attack? Techniques and practices of developing secure software. Topics include common software vulnerabilities, SEI CERT Coding Standards, and code analysis tools. 


    Three (3) hours lecture.
(3)
  
  • CS 351 Web Development

    (3)
    Prerequisites: CS 282 
    How do we create software that runs on the internet? An introduction to building internet-based applications. Topics include front-end and back-end development, HTML, CSS, JavaScript, and modern web frameworks. 


    Three (3) hours lecture.
(3)
  
  • CS 352 Mobile Development

    (3)
    Prerequisites: CS 252 
    How can we create software that runs on mobile devices? An introduction to building applications for mobile devices. Students will work in teams to design and create their own mobile applications. 


    Three (3) hours lecture.
(3)
  
  • CS 353 Game Development

    (3)
    Prerequisites: CS 252 
    How are video games made? An introduction to designing and constructing video games.


    Three (3) hours lecture.
(3)
  
  • CS 357 Parallel and Distributed Computing

    (3)
    Prerequisites: CS 252 
    How can we use multiple processors and multiple computers to solve problems? Why is it hard? Topics include: concurrent programming in a functional language, task decomposition, performance evaluation, communication models, synchronization mechanisms, distributed architectures, coordination, fault tolerance, and consistency. 


    Three (3) hours lecture.
(3)
  
  • CS 374 Introduction to Simulation and Modeling

    (3)
    Prerequisites: CS 151  (with a grade of C or better) and MATH 253 
    How can computers represent real world objects and phenomena? Application of computers to create digital prototypes of physical models. 


    Three (3) hours lecture.
(3)
  
  • CS 376 Artificial Intelligence

    (3)
    Prerequisites: CS 261 
    How do we apply artificial intelligence in a useful way? Topics include search, knowledge representation, natural language processing and multi-agent systems. 


    Three (3) hours lecture.
(3)
  
  • CS 381 System Analysis & Design

    (3)
    Prerequisites: CS 282 
    How can businesses benefit from the use of technology? Systematic methodology for analyzing a business problem or opportunity, determining what role, if any, computer-based technologies can play in addressing the business need, articulating business requirements for the technology solution, specifying alternative approaches to acquiring the technology capabilities needed to address the business requirements, and specifying the requirements for the information systems solution.


    Three (3) hours lecture.
(3)
  
  • CS 384 DevOps

    (3)
    Prerequisites: CS 282 . 
    How can developers and information technology specialists work together? The goal of DevOps is to provide rapid deployment of reliable and scalable software services through communication, collaboration, and automation. Topics include continuous integration, continuous delivery, infrastructures as code, monitoring and logging systems, and models of collaboration. 


    Three (3) hours lecture.
(3)
  
  • CS 420 Special Topics

    (3)
    Prerequisites: Specified by instructor.
    Extended study of special topics in Computer Science.  Specified topics to be announced and indicated by title on transcript.  May be taken for credit repeatedly.


    Three (3) hours lecture.
(3)
  
  • CS 421 Operating Systems

    (3)
    Prerequisites: CS 325 
    What is the purpose of an operating system? How do operating systems work? An introduction to the design and implementation of operating systems. Topics include system calls, process and memory management, concurrent processes and threads, and file systems. 


    Three (3) hours lecture.
(3)
  
  • CS 440 Independent Study

    (1-6)
    Prerequisites: Application must be made and approved by a committee before the student can register for independent study.
    Students work on problems outside the scope of normal courses under minimal supervision.  Students must give an oral presentation and a written summary of project.


(1-6)
  
  • CS 442 Analysis of Algorithms

    (3)
    Prerequisites: CS 252  and MATH 219 
    How do we design and evaluate effective algorithms? What are the limits of computation? Topics include empirical analysis of algorithms, computational complexity classes, and the following design techniques: brute-force, greedy, divide-and-conquer, recursive, backtracking, and dynamic programming. 


    Three (3) hours lecture.
(3)
  
  • CS 443 Programming Languages and Translators

    (3)
    Prerequisites: CS 325  and MATH 219 
    What are the mathematical principles underlying programming languages and compilers? Formal definitions of programming languages, including introduction to design, structure, and use of translators for programming languages, and related automata theory topics. 


    Three (3) hours lecture.
(3)
  
  • CS 450 Internship

    (1-6)
    A faculty-approved internship experience that complements coursework in Computer Science or Computer Information Systems.


(1-6)
  
  • CS 456 Capstone Project 1

    (2)
    Prerequisites: Junior or Senior status in Computer Science or Computer Information Systems, approval of instructor.
    Part one of a two course sequence.  Students will work in teams to design a project relevant to their elective concentration.


    Two (2) hours lecture.
(2)
  
  • CS 457 Capstone Project 2

    (2)
    Prerequisites: CS 456  .   
    Part two of a two course sequence. Students will work in teams to implement and present the project developed in the previous course.


    Two (2) hours lecture.
(2)
  
  • CS 480 Honors Courses

    (3)
    Juniors and seniors who qualify for Honors courses are offered the opportunity to study with individual members of the faculty.  This is specialized study apart from conventional classroom work.  Application must be made and approved by a committee before the student can register for the honors course.


    Three (3) hours lecture.
(3)
  
  • CS 497 McNair Workshops

    (3)
    .


    Three (3) hours lecture.
(3)
  
  • CS 498 McNair Scholars Research

    (3)
    McNair Scholars Research


    Three (3) hours lecture.
(3)
  
  • CS 499 McNair Research

    (3)
    .


    Three (3) hours lecture.
(3)