May 01, 2024  
2017-2018 Undergraduate Catalog 
    
2017-2018 Undergraduate Catalog [ARCHIVED CATALOG]

Course Descriptions


General Education Designations

Registration Notes

Academic Disciplines Chart

CLICK HERE 

 

CLICK HERE 

 

 17-18 Academic Disciplines Chart  

 

(COSC) Computer Science (266)

  
  • COSC 100 - Introduction to Computers and Computing

    3 Credit Hours
    Basic concepts of computer hardware and software. Microcomputer systems and workstations. Networking and the Internet. The interdisciplinary science of computing.

    Satisfies General Education Requirement: (QR)
    Credit Restriction: May not be applied toward the computer science major.
  
  • COSC 102 - Introduction to Computer Science

    4 Credit Hours
    Problem solving and algorithm development. Organization and characteristics of modern digital computers with emphasis on software engineering, building abstractions with procedures and data, and programming in a modern computer language. Includes Level 1 design projects, which require laboratory work.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    Grading Restriction: A, B, C, No Credit grading only.
    Credit Restriction: Students who have received credit for 140 or 160 may not receive subsequent credit for 102 without consent of instructor.
    (RE) Corequisite(s): Mathematics 141 or 147.
  
  • COSC 130 - Computer Organization

    4 Credit Hours
    Number systems, Boolean algebra, combinational and sequential circuits, registers, processor functional units and control, pipelining, memory and caching, stored program computing, memory management, computer system organization, and assembly language programming.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    (RE) Prerequisite(s): 102.
  
  • COSC 140 - Data Structures and Algorithms I

    4 Credit Hours
    Advanced problem solving and algorithm development, programming, data structures and applications, I/O techniques, lists, queues, stacks, hash tables, algorithms, files.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    (RE) Prerequisite(s): 130.
  
  • COSC 291 - Lower-Division Special Topics

    1-3 Credit Hours
    Topics vary. Programming languages, operating systems, and application software packages.

    Repeatability: May be repeated. Maximum 9 hours.
  
  • COSC 302 - Data Structures and Algorithms II

    4 Credit Hours
    Design, analysis, and implementation of fundamental algorithms and data structures, including trees and graphs.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    (RE) Prerequisite(s): 140.
  
  • COSC 307 - Honors: Data Structures and Algorithms II

    4 Credit Hours
    Same as 302 with additional honors project.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    (RE) Prerequisite(s): 140.
  
  • COSC 311 - Discrete Structures

    3 Credit Hours
    Sets, functions, relations, equivalence relations, partial orderings and proof techniques, especially mathematical induction. Application of proof techniques to prove correctness of algorithms. Introduction to basic counting and combinatorics.

    (RE) Prerequisite(s): 140 and either Mathematics 142 or 148.
  
  • COSC 312 - Algorithm Analysis and Automata

    3 Credit Hours
    Counting and combinatorics, with applications to the analysis of algorithms. Introduction to finite automata and regular languages, and to pushdown automata and context free grammars.

    (RE) Prerequisite(s): 311.
  
  • COSC 317 - Honors: Discrete Structures

    3 Credit Hours
    Same as 311 with additional honors project.

    (RE) Prerequisite(s): 140 and either Mathematics 142 or 148.
  
  • COSC 340 - Software Engineering

    3 Credit Hours
    Introduction to software processes that can be used on large projects to help design, manage, maintain, and test software.

    (RE) Prerequisite(s): 302.
  
  • COSC 360 - Systems Programming

    4 Credit Hours
    In-depth introduction to C and its use in system programming. Introduction to memory and process layout, system calls, buffering, file I/O, file systems, directories, metadata, assembly code, stack frames, memory management, process management, and interprocess communication.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    (RE) Prerequisite(s): 130 and 302.
  
  • COSC 361 - Operating Systems

    3 Credit Hours
    Threads, operating system structure, process management, scheduling, synchronization, deadlock, memory management, virtual memory and demand paging, file system management and implementation, mass storage structure, protection, security, and distributed systems.

    (RE) Prerequisite(s): 130 and 302.
  
  • COSC 365 - Programming Languages and Systems

    3 Credit Hours
    Language paradigms (procedural, functional, object-oriented, logic), language design and implementation issues and language issues related to parallelism.

    (RE) Prerequisite(s): 302.
  
  • COSC 367 - Honors: Systems Programming

    4 Credit Hours
    Same as 360 with additional honors project.

    Contact Hour Distribution: 3 hours lecture and 1 lab.
    (RE) Prerequisite(s): 130 and 302.
  
  • COSC 370 - Introduction to Scientific Computing

    3 Credit Hours
    The design, analysis, and implementation of numerical algorithms for solving problems in science and engineering. Emphasis on program design, including data structures, computational complexity, scientific computing environments, and high-performance software packages.

    Credit Restriction: Students may not receive credit for both 370 and Mathematics 371.
    (RE) Prerequisite(s): 140 and Mathematics 251.
  
  • COSC 377 - Honors: Introduction to Scientific Computing

    3 Credit Hours
    Same as 370 with additional honors project.

    Credit Restriction: Students may not receive credit for both 377 and Mathematics 371.
    (RE) Prerequisite(s): 140 and Mathematics 251.
  
  • COSC 401 - Senior Design Theory

    2 Credit Hours
    A design course that focuses the student’s attention on professional practice, ethics, accumulated background of curricular components, and recent developments in the field. The focus is on teaching both the design process and design principles that allow students to utilize all of the above elements to effectively create designs for major design projects.

    (RE) Prerequisite(s): 360.
  
  • COSC 402 - Senior Design Practicum

    3 Credit Hours
    A project-oriented course that requires teams of students to design a major project that incorporates the principles taught in 401. The design emphasis is directed to topics within the field of computer science.

    Satisfies General Education Requirement: (WC) (OC)
    (RE) Prerequisite(s): 401.
  
  • COSC 411 - Senior Thesis I

    3 Credit Hours
    Frontiers of computer science technology and research. Students write a senior thesis. Writing-emphasis course.

    Registration Restriction(s): Minimum student level – senior.
  
  • COSC 420 - Biologically-Inspired Computation

    3 Credit Hours
    Recent developments in computational methods inspired by nature, such as neural networks, genetic algorithms, evolutionary programming, ant-swarm optimization, artificial immune systems, swarm intelligence, cellular automata, multi-agent systems, cooperation, and competition.

    Recommended Background: Completion of core courses.
  
  • COSC 425 - Introduction to Machine Learning

    3 Credit Hours
    Machine learning is concerned with computer programs that automatically improve their performance through experience. This course covers the theory and practice of machine learning from a variety of perspectives. We cover topics such as learning decision trees, neural network learning, statistical learning methods, genetic algorithms, Bayesian learning methods, explanation-based learning, and reinforcement learning. Programming assignments include hands-on experiments with various learning algorithms.

    (RE) Prerequisite(s): 302; Electrical and Computer Engineering 313 or Mathematics 323.
    Comment(s): Prior knowledge may satisfy prerequisite with consent of instructor.
  
  • COSC 427 - Honors: Biologically-Inspired Computation

    3 Credit Hours
    Same as 420 with additional honors project.

    Recommended Background: Completion of core courses.
  
  • COSC 434 - Network Security

    3 Credit Hours
    In-depth introduction to core Internet and wireless technologies, related security concerns, common security vulnerabilities, and good security practices. Hands-on experience exploiting network protocols and communications, and setting up secure network connections.

    (RE) Prerequisite(s): Electrical and Computer Engineering 453 and 461.
  
  • COSC 440 - Formal Foundations of Software Engineering

    4 Credit Hours
    Principles of analysis and design of information systems. Principles of program design and verification, formal objects, formal specifications.

    (RE) Prerequisite(s): 311.
  
  • COSC 445 - Fundamentals of Digital Archeology

    3 Credit Hours
    This is an advanced topic course focused on developing multi-disciplinary skills of discovering, retrieving, analyzing, and presenting operational data. Students will use critical thinking and intense practice solving real-world problems to recognize and address key operational issues: the lack of context, missing observations, and incorrect values. At the end of the course students will be able to discover operational data, to retrieve and store it, to recover context, to estimate the impact of missing events, to identify unreliable or incorrect values, and to present the results.

    Recommended Background: 340, 370, Electrical and Computer Engineering 313.
  
  • COSC 456 - Computer Graphics

    3 Credit Hours
    Digital image synthesis, geometric modeling and animation. Topics may include visual perception, displays and color spaces, frame buffers, affine transformations, data structures for geometric primitives, visible surface determination, shading and texturing, anti-aliasing computing light transport, rendering equation, shader programming, general purpose GPU programming, level of detail, curves and surfaces, and graphics hardware.

    (RE) Prerequisite(s): 302.
    Comment(s): Prior knowledge may satisfy prerequisite with consent of instructor.
  
  • COSC 461 - Compilers

    3 Credit Hours
    Lexical analysis, parsing, program representation, type systems, runtime environments, code generation, optimization techniques.

    (RE) Prerequisite(s): 302.
  
  • COSC 462 - Parallel Programming

    3 Credit Hours
    Principles and practice of parallel computing; design, implementation, and evaluation of parallel programs for shared and distributed memory architectures, and vector processors. Sample topics include models of parallel computers, basic communication operations, performance and scalability of parallel systems, and programming techniques including multi-threading and message passing.

    (RE) Prerequisite(s): 360 or 361.
  
  • COSC 465 - Databases and Scripting Languages

    3 Credit Hours
    Introduction to database theory, models, and query formation. Survey of scripting languages, their uses, and their interconnectivity with databases.

    (RE) Prerequisite(s): 311.
  
  • COSC 466 - Web Security

    3 Credit Hours
    In-depth introduction to core web technologies, related security concerns, and common vulnerabilities. Hands on experience with multi-tier web applications (HTML, JavaScript, HTTP, application frameworks, and databases), vulnerability analysis and exploitation (injection, authentication, access control, client-side and server-side issues), and building secure applications.

    (RE) Prerequisite(s): 302.
  
  • COSC 471 - Numerical Analysis

    3 Credit Hours
    (See Mathematics 471.)
  
  • COSC 472 - Numerical Algebra

    3 Credit Hours
    (See Mathematics 472.)
  
  • COSC 482 - Theory of Computation

    3 Credit Hours
    Properties of finite automata/regular sets and push-down automata/context-free languages. Countability, diagonalization, and undecidability. Complexity, including the classes P and NP, NP-completeness, and reduction techniques.

    (RE) Prerequisite(s): 312.
  
  • COSC 483 - Applied Cryptography

    3 Credit Hours
    In-depth introduction to the underlying mathematics, computational methodologies, associated theoretical considerations, applications and practical cryptographic techniques.

    (RE) Prerequisite(s): 311, Mathematics 251.
  
  • COSC 493 - Independent Study

    1-3 Credit Hours
    Special project in area of student’s primary interest. Directed by computer science faculty, perhaps jointly with student’s faculty advisor. Intended for students with a specific project to pursue in conjunction with a faculty member. Project may be from a department other than computer science, in which case a faculty member from the appropriate department will help oversee the project.

    Repeatability: May be repeated. Maximum 45 hours.
    Credit Restriction: Maximum of 6 hours may be applied toward the major.
    Registration Permission: Consent of instructor.
  
  • COSC 494 - Special Topics in Computer Science

    1-3 Credit Hours
    Repeatability: May be repeated. Maximum 9 hours.