Skip to Content

Computer Science and Engineering

Search UTC.edu:

Campus & People

Resources:

Computer Science and Engineering Courses

Computer Literacy

  • CPSC 110: Introduction to Computing (3 credit hours)

    Overview of the development ofo the electronic computer, its technology, capabilities, and limitations. Ethical and social issues are considered, as well as the role of computers in society. Introduction to the use of a range of useful microcomputer hardware and software. Extensive laboratory experience. Credit not allowed in both Computer Science 102 and 110. Prerequisite: UTC Placement Level 20 or Mathematics 106 with a grade of C or better.

Undergraduate Computer Science Core Courses

  • CPSC 150: Fundamentals of Computer Science (4 credit hours)

    An introduction to computer science concepts and computer software development using a higher level language. Algorithms, flowcharting, programming, and documentation of numerical and non-numerical problems. Introduction to computer science terminology and concepts such as computer hardware and computer application areas. Lecture 2 hours, laboratory 3 hours. Prerequisite: 4 years of college preparatory mathematics: UTC Math Placement Level 30 or Mathematics 131 or 144

  • CPSC 160: Data Structures and Program Design (4 credit hours)

    Continued development of programming style using abstract data structures and top-down design. Debugging and testing of large programs. Emphasis on algorithm development. List processing. Recursion. (Stacks, trees, searching ans sorting) Lecture 3 hours, laboratory 2 hours. Prerequisite: CPSC 150 with a grade of C or better and either Mathematics 145 with a grade of C or better or UTC Math Placement Level 40.

  • CPSC 251:Introduction to Operating Systems (3 credit hours)

    Basic operating system principles, job control languages and operating system internals. The hardware/software interface; file systems; resource management; command languages; segmentation, paging and virtual memory; other virtual resources. Detailed examination of two or more current operating systems, such as Windows, UNIX or Novell NOS. Prerequisite: CPSC 160 with a grade of C or better. May be registered as CPEN 251. Credit not allowed in both CPSC 251 and CPEN 251.

  • CPSC 261: Software Design and Development (3 credit hours)

    A study of the analysis, design and implementation phases of software systems development using a phased life cycle approach. Process, data and objct oriented development models. Introduction to modeling tools and CASE software. Team approaches to software development. Project management concepts. Prerequisite: CPSC 160 with a grade of C or better. May be registered as CPEN 261. Credit not allowed in both CPSC 261 and CPEN 261.

  • CPSC 305: Digital Logic and Introduction to Computer Hardware (4 credit hours)

    Number representation and arithmetic; basic digital devices and their Boolean representations; introduction to logic circuit design and simplification using Boolean algebra and Karnaugh maps; combinational logic building blocks such as multiplexers, demultiplexers, encoders, decoders, comparators, adders, ALUs; analysis and design of sequential logic circuits; sequential logic building blocks such as storage registers, shift registers and counters. Lecture 3 hours, laborator 2 hours. Prerequisite: CPSC 150 with a grade of C or better and either Mathematics 145 with a grade of C or better or UTC Math Placement Level 40. May be registered as CPEN 305. Credit not allowed in both CPSC 305 and CPEN 305.

  • CPSC 306: Computer System organization and Assembly Language Programming (4 credit hours)

    Structure of digital computers introduction to machine language, symbolic coding, and assembly language; register sets, instruction types, and addressing modes; assembler directives and macros; low-level input/output techniques; interrupts; procedure calls, returns and stack operations; linking to high-level languages. Lecture 3 hours, laboratory 2 hours. Prerequisite: CPSC 160 and CPSC 305 or CPEN 305 with grades of C or better. May be registered as CPEN 306. Credit not allowed in both CPSC 306 and CPEN 306.

  • CPSC 312: Algorithm Analysis and Advanced Data Structures (3 credit hours)

    A study of data structures and the algorithms used to process them. Algorithms for handling strings, stacks, lists, trees and graphs. Sorting and searching techniques. Recursive and non-recursive algorithms. Efficiency considerations. Prerequisite: CPSC 261 or CPEN 261 and Mathematics 303 with grade of C or better.

  • CPSC 335: File and Database Processing (3 credit hours)

    A study of sequential, direct, indexed sequential files. File sorting and searching techniques. Data compression and data encryption. Database concepts. Introduction to the relational model. Prerequisite: CPSC 261 of CPEN 261 with grade of C or better.

  • CPSC 351: Systems Programming (3 credit hours)

    Structure and design of programs whose inputs are programs. Assemblers, interpreters, compilers, loaders and supervisors. Introduction to formal programming languages, syntatic descriptions, symbolic functions and manipulations. Prerequisite: CPSC 261 or CPEN 261, CPSC 306 or CPEN 306, and Mathematics 303 with grades of C or better.

  • CPSC 385: Ethical and Social Issues in Computing (3 credit hours)

    This course examines the ethical and social issues arising from advances in computer technology and the responsibility that computer professionals and users have with regard to computer use by focusing on the intrinsic link between ethics and the law, how both try to define the validity of human actions, and on the moral and ethical dilemmas created by computer technology that challenge the traditional ethical and moral concepts. Prerequisite: CPSC 110 or CPSC 150 and English 277 or English 278 with grades of C or better.

  • CPSC 450: Software Engineering (3 credit hours)

    Study of techniques used in the definition, specification, design, implementation and testing of large software systems. The course will include team effors to identify and define the requirements of a large software product. The development of this product will continue in CPSC 490. Prerequisites: CPSC 261 or CPEN 261, Mathematics 303, and English 277 or 278 with grades of C or better.

  • CPSC 460:Computer Architecture (3 credit hours)

    An advanced course in computer architecture. Topics include classical uniprocessor architecture, computer arithmetic, instruction sets, control unit design including the basics of microprogramming, I/O operations, memory hierarchies, cache and virtual memory mechanisms, instruction and arithmetic pipelines, CICS, RISC, superscaler and superpipelined architectures. Prerequisites: CPSC or CPEN 251 and 306 with grades of C or better. May be registered as CPEN 460. Credit not allowed in both CPSC 460 and CPEN 460

  • CPSC 490:Group Software Project (3 credit hours)

    Continuation of the group design effort started in CPSC 450. Implementation of a major software product. Oral and written presentation of progress and final results required. Prerequisites: CPSC 450 with a grade of C or better and senior standing in computer science or approval of instructor.

Undergraduate Information Security and Assurance Core Courses

  • CPSC 375: Principles of Information Security and Assurance (3 credit hours)

    This course focuses on information security, integrity and privacy techniques. Topics include the nature and challenges of computer security, the relationship between policy and security, the role and application of cryptography, the mechanisms used to implement policies, the methodologies and techniques for assurance and vulnerability analysis and intrusion detection. Prerequisite: CPSC 160 with a grade of C or better.

  • CPSC 415: Biometrics and Cryptography (3 credit hours)

    This course covers the basic concepts of pattern recognition and biometrics, current major biometric technologies, and analyzes specific case studies from technical, privacy, and social impact viewpoints along with a critical study of the cryptographic protocols used in many security applications. Prerequisite: CPSC 160, CPSC 312, CPSC 375, and Mathematics 303 with grades of C or better.

  • CPSC 426: Computer Networks (3 credit hours)

    The theory, design, engineering and installation of networks to connect digital computers. The course will prepare students to plan and implement a network. Also includes peer-to-peer networks, the client-server model, network operating systems, and an introduction to wide-area networks. The network and implementation tools may vary to meet current development trends. Prerequisite: CPSC 251 or CPEN 251, CPSC 305 or CPEN 305 with grades of C or better.

  • CPSC 444: Computer Network Security (3 credit hours)

    This course will focus on the security issues and procedures in computer and mobile communication networks. Topics include risk assessment and security policies, networks intrusion detection, forensics technologies, and current trends and research in security policies and technologies. Prerequisites: CPSC 426 with grade of C or better and an approved course in statistics.

  • CPSC 462:Database Security and Auditing (3 credit hours)

    This course provides an overview of database security concepts and techniques, application security models, data mining, database and data auditing, XML access control, trust management and privacy protection. New directions in database security will also be discussed. Prerequisite: CPSC 335 and 375 with grades of C or better.

Computer Engineering Core Courses

  • CPEN 251:Introduction to Operating Systems (3 credit hours)

    Basic operating system principles, job control languages and operating system internals. The hardware/software interface; file systems; resource management; command languages; segmentation, paging and virtual memory; other virtual resources. Detailed examination of two or more current operating systems, such as Windows, UNIX or Novell NOS. Prerequisite: CPSC 160 with a grade of C or better. May be registered as CPEN 251. Credit not allowed in both CPSC 251 and CPEN 251.

  • CPEN 261: Software Design and Development (3 credit hours)

    A study of the analysis, design and implementation phases of software systems development using a phased life cycle approach. Process, data and objct oriented development models. Introduction to modeling tools and CASE software. Team approaches to software development. Project management concepts. Prerequisite: CPSC 160 with a grade of C or better. May be registered as CPEN 261. Credit not allowed in both CPSC 261 and CPEN 261.

  • CPEN 305: Digital Logic and Introduction to Computer Hardware (4 credit hours)

    Number representation and arithmetic; basic digital devices and their Boolean representations; introduction to logic circuit design and simplification using Boolean algebra and Karnaugh maps; combinational logic building blocks such as multiplexers, demultiplexers, encoders, decoders, comparators, adders, ALUs; analysis and design of sequential logic circuits; sequential logic building blocks such as storage registers, shift registers and counters. Lecture 3 hours, laborator 2 hours. Prerequisite: CPSC 150 with a grade of C or better and either Mathematics 145 with a grade of C or better or UTC Math Placement Level 40. May be registered as CPEN 305. Credit not allowed in both CPSC 305 and CPEN 305.

  • CPEN 306: Computer System organization and Assembly Language Programming (4 credit hours)

    Structure of digital computers introduction to machine language, symbolic coding, and assembly language; register sets, instruction types, and addressing modes; assembler directives and macros; low-level input/output techniques; interrupts; procedure calls, returns and stack operations; linking to high-level languages. Lecture 3 hours, laboratory 2 hours. Prerequisite: CPSC 160 and CPSC 305 or CPEN 305 with grades of C or better. May be registered as CPEN 306. Credit not allowed in both CPSC 306 and CPEN 306.

  • CPEN 451:Computer Engineering Senior Project: Planning and Design Phase (1 credit hour)

    A team project course that serves as the first part of the culminating experience for students in the Computer Engineering concentration. Students will work in small groups to develop specifications for hardware and software components and a proposed design for a system to solve a problem typical of real-world engineering practice using realistic engineering standards and constraints. Prerequisite: ENGR 222, CPSC or CPEN 306, CPSC 312 and ENEE 377/378 with grades of C or better.

  • CPEN 460:Computer Architecture (3 credit hours)

    An advanced course in computer architecture. Topics include classical uniprocessor architecture, computer arithmetic, instruction sets, control unit design including the basics of microprogramming, I/O operations, memory hierarchies, cache and virtual memory mechanisms, instruction and arithmetic pipelines, CICS, RISC, superscaler and superpipelined architectures. Prerequisites: CPSC or CPEN 251 and 306 with grades of C or better. May be registered as CPEN 460. Credit not allowed in both CPSC 460 and CPEN 460

  • CPEN 475:Advanced Computer Systems (3 credit hours)

    A study of representative computer systems including architectural features, hardware implementation, machine level programming, memory systems, I/O device interfacing, and system design. Prerequisites: CPSC or CPEN 305, 306 and 460 with grades of C or better. May be registered as CPEN 475. Credit not allowed in both CPSC 475 and CPEN 475.

  • CPEN 490:Computer Engineering Senior Project: Implementationn Phase (3 credit hours)

    A team project course that serves as the second part of the culminating experience for students in the Computer Engineering concentration. Students will work in interdisciplinary teams made up of computer engineers, computer scientists, and electrical engineers to move a project forward from an initial design through development and implementation, resulting in a complete system that solves a problem typical of real-world engineering practice, using realistic engineering standards and constraints. Written and oral presentations included. Prerequisites: CPEN 451 with a grade of C or better.

Undergraduate Electives

  • CPSC 410:Programming Languages (3 credit hours)

    The study of the structure, design, and implementation of computer programming languages, including procedural, object-oriented, logic programming, and functional languages. Topics include language syntax and semantics, procedure and data abstraction, binding times, exception processing, support for concurrency, and language programming paradigms. Prerequisite: CPSC 251 or CPEN 251, and CPSC 312 with grades of C or better.

  • CPSC 420: Computer Graphics Applications and Algorithms (3 credit hours)

    Computer graphics systems, system software, data structures for graphics devices and display processors, representational algorithms and packaged graphics software. Prerequisite: CPSC 312 with grade of C or better.

  • CPSC 426: Computer Networks (3 credit hours)

    The theory, design, engineering and installation of networks to connect digital computers. The course will prepare students to plan and implement a network. Also includes peer-to-peer networks, the client-server model, network operating systems, and an introduction to wide-area networks. The network and implementation tools may vary to meet current development trends. Prerequisite: CPSC 251 or CPEN 251, CPSC 305 or CPEN 305 with grades of C or better.

  • CPSC 430: Topics in Simulation (3 credit hours)

    Digital simulation. A study of simulation languages and simulation techniques for solving many types of research problems for management, engineering, and science, simulation of large systems, design of simulation experiments for optimization; applications using simulation languages. Prerequisite: CPSC 312 with a grade of C or better and an approved course in statistics.

  • CPSC 431: Information Security Management (3 credit hours)

    The study of management in information security, including planning, policy and protections is covered. Topics include planning for security, information security policy, developing security programs, access control, cryptography, risk management, information security administration and incident handling and response. Both commercial practices and federal government policies for classified information will be explored. Prerequisite: CPSC 160, CPSC 375 and CPSC 385 with grades of C or better.

  • CPSC 432: Advanced Operating Systems (3 credit hours)

    Concepts and issues of operating system principles; procedure activation, storage allocation, system structure, performance evaluation, memory management, process management, security, and recovery procedures. An introduction to distributed operating systems; communication, synchronized and system structure in distributed systems. Prerequisite: CPSC 251 or CPEN 251, CPSC 305 or CPEN 305, CPSC 306 or CPEN 306 and Mathematics 303 with grades of C or better.

  • CPSC 435: Database Management Systems (3 credit hours)

    Concepts and methods in the definition and management of databases; physical and logical database design; data modeling techniques; programming in a database environment; topics in database security, integrity, recovery, and concurrence. Prerequisite: CPSC 335 with grade of C or better or Senior standing in Computer Science and approval of instructor.

  • CPSC 440: Wide Area Networks (3 credit hours)

    The design, preparation, and delivery of information, applications and services using client/server computing over a wide area network. The network and implementation tools may vary to meet current development trends. Prerequisite: CPSC 312 with a grade of C or better.

  • CPSC 445: Automata, Complexity, and Computability (3 credit hours)

    An introduction to the classical and contemporary theory of computation including automata, formal languages, Turing machines, recursive functions, computability and incomputability, complexity, and the classes of P and NP. Prerequisites: CPSC 160 and mathematics 303 with grades of C or better.

  • CPSC 454:Wireless Network Security (3 credit hours)

    This course covers the basic concepts of wireless technologies, current major wireless technologies, and analyzes specific case studies from technical, privacy, and social impact viewpoints. Also covered is a critical study of the IEEE 802.11 cryptographic protocols used in many wireless security applications. Prerequisites: CPSC 160, 375, and 444 or 426 with grades of C or better.

  • CPSC 461:System Vulnerability Analysis and Auditing (3 credit hours)

    This course covers the assessment of systems to discover resources that are suscepitible to damage if intrusions and unauthorized access occur. The analysis of system vulnerability, identification of security deficiencies, security measurements, effectiveness and adequacy, and estimation of the vlunerability of system resources to potential disaster hazards of unknown origin are also covered. Prerequisites: CPSC 160, 375, and 426 or 444 with grades of C or better.

  • CPSC 472:Internet Security Protocols (3 credit hours)

    This course focuses on Internet security vulnerabilities, firewalls and their limitations. Topics include cryptographic technology and services, PPP and data layer security, IPSEC and key management for network layer security. TLS, SSH and transport layer security, secure email, secure infrastructure protocols and all authentication and virtual private network protocols will be explored. Prerequisite: CPSC 275, 426 and 444 with grades of C or better.

  • CPSC 475:Advanced Computer Systems (3 credit hours)

    A study of representative computer systems including architectural features, hardware implementation, machine level programming, memory systems, I/O device interfacing, and system design. Prerequisites: CPSC or CPEN 305, 306 and 460 with grades of C or better. May be registered as CPEN 475. Credit not allowed in both CPSC 475 and CPEN 475.

  • CPSC 476:Embedded Microcontroller Systems (3 credit hours)

    Microocontroller systems architecture, advanced real-time signal interfacing techniques, I/O programming concepts, real-time realization of digital signal processing and filtering techniques. Projects included. Prerequisites: CPSC or CPEN 305, 306 and ENEE 371, 372 with grades of C or better.

  • CPSC 480:Introduction to Artificial Intelligence (3 credit hours)

    Artifical intelligence; simulation of cognitive behavior and self-organizing systems; heuristic programming including the use of list processing languages; data representation, pattern matching structures; applications in symbolic mathematics; survey of examples from representative application areas. Prerequisites: CPSC 312 with a grade of C or better.

  • CPSC 484Computer Crime Investigation (3 credit hours)

    A study of procedures for identification, preservation, and extraction of electronic evidence. Auditing and investigation of network and host system intrusions, analysis and documentation of information gathered, and preparation of expert testimonial evidence will be covered. Forensic tools and resources for system administrators and information system security officers will also be explored. Prerequisite: CPSC 160, 251, 375, and 385 with grades of C or better.

  • CPSC 485:Information Security Laboratory (3 credit hours)

    This course will involve laboratory exercises that cover advanced technical concepts in network surveillance, protection, auditing and detection techniques. Prerequisites: CPSC 375 and 426 with grades of C or better. Corequisite: CPSC 444 or 461

  • CPSC 495r:Departmental Honors (1 - 3 hours per term, 4 hours for the two terms)

    On demand. See departmental honors. Students must submit an Individual Studies/Research Contract to the Records Office at the time of registration.

  • CPSC 497r:Research (1 - 4 credit hours)

    On demand. Prerequisite: approval of department head. Students must submit an Individual Studies/Research Contract to the Records Office at the time of registration.

  • CPSC 498r:Individual Studies (1 - 4 credit hours)

    On demand. Prerequisite: approval of department head. Students must submit an Individual Studies/Research Contract to the Records Office at the time of registration.

  • CPSC 499r:Group Studies (1 - 4 credit hours)

    On demand.