Course Catalog

The courses in this catalog may be filtered by selecting the appropriate links at left. If looking for a comprehensive listing of all courses in this catalog in a plain tabular format, please visit the full catalog page.

101

Fluency With Information Technology


http://www.cis.uab.edu/cs101

Skills, concepts, and capabilities associated with Information Technology. Fundamentals of hardware, software, human-computer interfaces, networking, multi-media, databases, eCommerce, privacy and digital security. Project oriented hands-on approach.KS
Accompanying Lab Required.
Credit Hours: 3

105

Introduction to Game Programming Using Alice


http://www.cis.uab.edu/cs105
Introduction to object-oriented programming in a 3D graphical programming environment. First-time exposure to common programming language constructs. Project planning and storyboarding. Hands-on approach with several projects focused on the design of computer games and animation.JG
Accompanying Lab Required.
Credit Hours: 3
106

Introduction to Computer Programming Using Python


http://www.cis.uab.edu/cs106/
Foundations of computer science and programming. Using common programming language constructs to manipulate text, images, audio and video, and create graphical user interfaces. Hands-on approach with several projects focused on the design of programs for manipulating various kinds of multimedia. This course has a laboratory component.
Accompanying Lab Required.
Credit Hours: 3
199

Special Topics in Software Technologies


http://www.cis.uab.edu/cs199
An introduction to wireless personal technologies, fundamental concepts, current systems and trends for the future.
Accompanying Lab Required.
Credit Hours: 3
201
Prerequisites:
  • CS 101
  • Introduction to Object-Oriented Programming


    http://www.cis.uab.edu/cs201
    Fundamental concepts of object oriented programming. Syntax and semantics of Java, an object oriented programming language. Principles of program design and algorithm development strategies. Classes, abstract data types, arrays, flow control, functions, overloading, exception handling, debugging, I/O applets. This course has a laboratory component. JG
    Requirements: MA 102
    Accompanying Lab Required.
    Credit Hours: 4
    250
    Prerequisites:
  • CS 201
  • Discrete Structures


    http://www.cis.uab.edu/cs250
    Discrete structures for computer science, including sets, functions, elementary propositional and predicate logic, Boolean algebra, elementary graph theory, combinatorics proof techniques including induction and contradiction. AS
    Requirements: MA 105
    Credit Hours: 3
    299

    Special Topics in Computer Science


    http://www.cis.uab.edu/cs299
    BB
    Requirements: Permission from instructor.
    Credit Hours: 1-3
    302
    Prerequisites:
  • CS 201
  • Object-Oriented Design


    http://www.cis.uab.edu/cs302
    CS 302 is a continuation of CS 201 and emphasizes concepts of object oriented software design. Topics include inheritance, recursion, algorithm analysis, sorting algorithms, graphs, hash tables, and linked list data structures such as stacks, queues, and binary trees. This course has a laboratory component. KS
    Accompanying Lab Required.
    Credit Hours: 4
    303
    Prerequisites:
  • CS 250
  • CS 302
  • Algorithms and Data Structures


    http://www.cis.uab.edu/cs303
    Efficient design of data structures, recursive algorithms, algorithms for sorting and searching, complexity analysis of algorithms, applications of algorithms and data structures in problems, state spaces, and search strategies in artificial intelligence. This course has a laboratory component. KS
    Accompanying Lab Required.
    Credit Hours: 4
    304
    Prerequisites:
  • CS 302
  • Object Oriented Programming in C++


    http://www.cis.uab.edu/cs304
    Syntax, semantics and concepts of C++ programming, templates, parametrized classes, generic programming, standard template library. BB
    Credit Hours: 1
    306
    Prerequisites:
  • CS 302
  • Perl Programming


    http://www.cis.uab.edu/cs306
    "Perl data structures and syntax. Flow control, functions, scoping, regular expressions, pattern matching, files and data, references, libraries and modules, program composition. Object-Oriented Programming.Multidimensional data. Networking. Module development. CGI and other third-party modules. Best practices." FF
    Credit Hours: 3
    330
    Prerequisites:
  • CS 250
  • CS 302
  • Computer Organization and Assembly Language Programming


    http://www.cis.uab.edu/cs330
    Register-level architecture of modern digital computer systems, addressing techniques, program segmentation and linkage, digital logic, machine-level representation of data, assembly-level machine organization and instruction execution, and alternative architectures. PB
    Credit Hours: 3
    333
    Prerequisites:
  • CS 302
  • Unix Operating System Fundamentals


    http://www.cis.uab.edu/cs333
    Unix architecture, concepts, and principles; shell concepts and principles, filters, I/O redirection, environment, process management, runtime architecture. PB
    Credit Hours: 1
    334
    Prerequisites:
  • CS 250
  • CS 302
  • Internetworking and Intranets


    http://www.cis.uab.edu/cs334
    Underlying network technology. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File Transfer Protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab. Mandatory attendance at first class meeting. AB
    Accompanying Lab Required.
    Credit Hours: 3
    334
    Prerequisites:
  • CS 250
  • CS 302
  • Internetworking with TCP/IP


    http://www.cis.uab.edu/cs334
    Underlying network technology. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File transfer protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab.
    Accompanying Lab Required.
    Credit Hours: 3
    123456789next ›last »

    Graduate Courses

    505

    Programming Languages


    http://www.cis.uab.edu/cs505
    Formal syntax and semantics; compilers and interpreters; virtual machines; representation of data types; sequence and data control; type checking; run-time storage management; functional, logic, and object-oriented programming paradigms; concurrency and multi-threading. BB
    Requirements: Graduate standing.
    Credit Hours: 3
    510

    Database Management Systems


    http://www.cis.uab.edu/cs510
    Relational model of databases, structured query language, normalized structure of database management systems based on relational model, and security and integrity of databases. CZ
    Requirements: Graduate standing.
    Credit Hours: 3
    520

    Software Engineering


    http://www.cis.uab.edu/cs520
    Design and implementation of large-scale software systems, software development life cycle, software requirements and specifications, software design and implementation, verification and validation, project management, and team-oriented software development. JG
    Requirements: Graduate standing.
    Credit Hours: 3
    533

    Operating Systems


    http://www.cis.uab.edu/cs533
    Internal design and operation of a modern operating system, including interrupt handling, process scheduling, memory management, virtual memory, demand paging, file space allocatioin, file and directory management, file/user security and file access methods. RH
    Requirements: Graduate standing.
    Credit Hours: 3
    533

    Distributed Computing


    http://www.cis.uab.edu/cs631
    Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies. PB
    Requirements: Graduate standing.
    Credit Hours: 3
    534

    Internetworking with TCP/IP


    http://www.cis.uab.edu/cs534

    Accompanying Lab Required.
    Credit Hours: 3
    534

    Internetworking and Intranets


    http://www.cis.uab.edu/cs534
    Underlying network technology. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File Transfer Protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab. Mandatory attendance at first class meeting. AB
    Requirements: Graduate standing.
    Accompanying Lab Required.
    Credit Hours: 3
    535

    Network Programming


    http://www.cis.uab.edu/cs535
    Remote procedure call and client-server mechanisms. Protocol definition and compilation; client and server stubs, application code; transport independence; multiple client and server systems. Applications, e.g., remote database query and update, image filtering and archiving; systems programming, and file systems contexts. RH
    Requirements: Graduate standing.
    Credit Hours: 3
    536

    Computer Network Security


    http://www.cis.uab.edu/cs536
    Conventional and public-key cryptography. Message encryption and authentication. Secure communication between computers in a hostile environment, including E-mail (PGP), virtual private networks (IPSec) and the World Wide Web (SSL). Firewalls. Mandatory weekly linux-based lab. AB
    Requirements: Graduate standing.
    Accompanying Lab Required.
    Credit Hours: 3
    550

    Automata and Formal Language Theory


    http://www.cis.uab.edu/cs550
    Finite-state automata and regular expressions, context-free grammars and pushdown automata, Turing machines, computability and decidability, and complexity classes. AS
    Requirements: Graduate standing.
    Credit Hours: 3
    555

    Probability and Statistics in Computer Science


    http://www.cis.uab.edu/cs555
    Introduction to Probability and Statistics with applications in Computer Science. Counting, permutations and combinations. Probability, conditional probability, Bayes theorem. Standard probability distributions. Measures of central tendency and dispersion. Central Limit Theorem. Regression and correlation. Hypothesis testing. Random number generation. Random algorithms. Estimating probabilities by simulation. Genetic algorithms.

    Credit Hours: 3
    591
    591

    Special Topics


    http://www.cis.uab.edu/cs591
    Special Topics BB
    Requirements: Permission from instructor.
    Credit Hours: 1-3
    592
    592

    Special Topics


    http://www.cis.uab.edu/cs592
    Special Topics BB
    Requirements: Permission from instructor.
    Credit Hours: 1-3
    123456789next ›last »

    Undergraduate Courses

    101

    Fluency With Information Technology


    http://www.cis.uab.edu/cs101

    Skills, concepts, and capabilities associated with Information Technology. Fundamentals of hardware, software, human-computer interfaces, networking, multi-media, databases, eCommerce, privacy and digital security. Project oriented hands-on approach.KS
    Accompanying Lab Required.
    Credit Hours: 3

    105

    Introduction to Game Programming Using Alice


    http://www.cis.uab.edu/cs105
    Introduction to object-oriented programming in a 3D graphical programming environment. First-time exposure to common programming language constructs. Project planning and storyboarding. Hands-on approach with several projects focused on the design of computer games and animation.JG
    Accompanying Lab Required.
    Credit Hours: 3
    106

    Introduction to Computer Programming Using Python


    http://www.cis.uab.edu/cs106/
    Foundations of computer science and programming. Using common programming language constructs to manipulate text, images, audio and video, and create graphical user interfaces. Hands-on approach with several projects focused on the design of programs for manipulating various kinds of multimedia. This course has a laboratory component.
    Accompanying Lab Required.
    Credit Hours: 3
    199

    Special Topics in Software Technologies


    http://www.cis.uab.edu/cs199
    An introduction to wireless personal technologies, fundamental concepts, current systems and trends for the future.
    Accompanying Lab Required.
    Credit Hours: 3
    201
    Prerequisites:
  • CS 101
  • Introduction to Object-Oriented Programming


    http://www.cis.uab.edu/cs201
    Fundamental concepts of object oriented programming. Syntax and semantics of Java, an object oriented programming language. Principles of program design and algorithm development strategies. Classes, abstract data types, arrays, flow control, functions, overloading, exception handling, debugging, I/O applets. This course has a laboratory component. JG
    Requirements: MA 102
    Accompanying Lab Required.
    Credit Hours: 4
    250
    Prerequisites:
  • CS 201
  • Discrete Structures


    http://www.cis.uab.edu/cs250
    Discrete structures for computer science, including sets, functions, elementary propositional and predicate logic, Boolean algebra, elementary graph theory, combinatorics proof techniques including induction and contradiction. AS
    Requirements: MA 105
    Credit Hours: 3
    299

    Special Topics in Computer Science


    http://www.cis.uab.edu/cs299
    BB
    Requirements: Permission from instructor.
    Credit Hours: 1-3
    302
    Prerequisites:
  • CS 201
  • Object-Oriented Design


    http://www.cis.uab.edu/cs302
    CS 302 is a continuation of CS 201 and emphasizes concepts of object oriented software design. Topics include inheritance, recursion, algorithm analysis, sorting algorithms, graphs, hash tables, and linked list data structures such as stacks, queues, and binary trees. This course has a laboratory component. KS
    Accompanying Lab Required.
    Credit Hours: 4
    303
    Prerequisites:
  • CS 250
  • CS 302
  • Algorithms and Data Structures


    http://www.cis.uab.edu/cs303
    Efficient design of data structures, recursive algorithms, algorithms for sorting and searching, complexity analysis of algorithms, applications of algorithms and data structures in problems, state spaces, and search strategies in artificial intelligence. This course has a laboratory component. KS
    Accompanying Lab Required.
    Credit Hours: 4
    304
    Prerequisites:
  • CS 302
  • Object Oriented Programming in C++


    http://www.cis.uab.edu/cs304
    Syntax, semantics and concepts of C++ programming, templates, parametrized classes, generic programming, standard template library. BB
    Credit Hours: 1
    306
    Prerequisites:
  • CS 302
  • Perl Programming


    http://www.cis.uab.edu/cs306
    "Perl data structures and syntax. Flow control, functions, scoping, regular expressions, pattern matching, files and data, references, libraries and modules, program composition. Object-Oriented Programming.Multidimensional data. Networking. Module development. CGI and other third-party modules. Best practices." FF
    Credit Hours: 3
    330
    Prerequisites:
  • CS 250
  • CS 302
  • Computer Organization and Assembly Language Programming


    http://www.cis.uab.edu/cs330
    Register-level architecture of modern digital computer systems, addressing techniques, program segmentation and linkage, digital logic, machine-level representation of data, assembly-level machine organization and instruction execution, and alternative architectures. PB
    Credit Hours: 3
    333
    Prerequisites:
  • CS 302
  • Unix Operating System Fundamentals


    http://www.cis.uab.edu/cs333
    Unix architecture, concepts, and principles; shell concepts and principles, filters, I/O redirection, environment, process management, runtime architecture. PB
    Credit Hours: 1
    334
    Prerequisites:
  • CS 250
  • CS 302
  • Internetworking and Intranets


    http://www.cis.uab.edu/cs334
    Underlying network technology. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File Transfer Protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab. Mandatory attendance at first class meeting. AB
    Accompanying Lab Required.
    Credit Hours: 3
    334
    Prerequisites:
  • CS 250
  • CS 302
  • Internetworking with TCP/IP


    http://www.cis.uab.edu/cs334
    Underlying network technology. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File transfer protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab.
    Accompanying Lab Required.
    Credit Hours: 3