Computer Science Post-Baccalaureate (CSPB)

Courses

CSPB 1000 (1) Computer Science as a Field of Work and Study

Introduces curriculum, learning techniques, time management and career opportunities in Computer Science. Includes presentations from alumni and others with relevant educational and professional experience.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 1000
Requisites: Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 1300 (4) Computer Science 1: Starting Computing

Teaches techniques for writing computer programs in higher level programming languages to solve problems of interest in a range of application domains. Appropriate for students with little to no experience in computing or programming.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 1310 and CSCI 1320 and ECEN 1310 CSCI 1300
Requisites: Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 2270 (4) Computer Science 2: Data Structures

Studies data abstractions (e.g., stacks, queues, lists, trees, graphs, heaps, hash tables, priority queues) and their representation techniques (e.g., linking, arrays). Introduces concepts used in algorithm design and analysis including criteria for selecting data structures to fit their applications. Knowledge OF C++ is highly recommended.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 2275 CSCI 2270
Requisites: Requires prerequisite course of (ASEN 1320 minimum grade B-) or (CSCI 1300 or CSCI 1310 or CSPB 1300 or ECEN 1310 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 2400 (4) Computer Systems

Covers how programs are represented and executed by modern computers, including low-level machine representations of programs and data, an understanding of how computer components and the memory hierarchy influence performance.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 2400
Requisites: Requires corequisite course of CSPB 2270 or CSCI 2270 or CSCI 2275 or ECEN 2370. Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 2820 (3) Linear Algebra with Computer Science Applications

Introduces the fundamentals of linear algebra in the context of computer science applications. Includes vector spaces, matrices, linear systems, and eigenvalues. Includes the basics of floating point computation and numerical linear algebra.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 2820
Requisites: Requires prerequisite courses of CSPB 2824 or CSCI 2824 or APPM 1345 or APPM 1350 or MATH 1300 or MATH 1310 (all minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 2824 (3) Discrete Structures

Covers foundational materials for computer science that is often assumed in advanced courses. Topics include set theory, Boolean algebra, functions and relations, graphs, propositional and predicate calculus, proofs, mathematical induction, recurrence relations, combinatorics, discrete probability. Focuses on examples based on diverse applications of computer science.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 2824
Requisites: Requires prerequisite or corequisite course of ASEN 1320 or CSCI 1300 or CSPB 1300 or ECEN 1310 (all minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 3022 (3) Introduction to Data Science with Probability and Statistics

Introduces students to the tools methods and theory behind extracting insights from data. Covers algorithms of cleaning and munging data, probability theory and common distributions, statistical simulation, drawing inferences from data, and basic statistical modeling.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3022
Requisites: Requires prereq or coreq of (ASEN 1320 or CSCI 1300 or CSPB 1300 or ECEN 1310) (APPM 3170 or CSCI 2824 or CSPB 2824 or ECEN 2703 or MATH 2001) (min grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) onl

CSPB 3104 (4) Algorithms

Covers the fundamentals of algorithms and various algorithmic strategies, including time and space complexity, sorting algorithms, recurrence relations, divide and conquer algorithms, greedy algorithms, dynamic programming, linear programming, graph algorithms, problems in P and NP, and approximation algorithms.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3104
Requisites: Requires prereq course (APPM 3170 or CSCI 2824 or CSPB 2824 or ECEN 2703 or MATH 2001) prereq or coreq course of (CSCI 2270 or CSPB 2270) (all min grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only

CSPB 3112 (1) Professional Development in Computer Science

Supports students in developing professional skills and practices in computing, including: preparing for technical and behavioral interviews, professional networking, mastering new technologies not addressed in the curriculum, presenting work, the role of graduate study, and exploring career and research directions.

Requisites: Requires prerequisite course of CSPB 2270 or CSCI 2270 or CSCI 2275 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 3155 (4) Principles of Programming Languages

Studies principles governing the design and analysis of programming languages and their underlying execution models. Explores values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces formal semantics as a framework for understanding programming features. Introduces advanced programming concepts such as functional programming, higher-order functions, immutable values and structures, inductive types, functors, continuation-passing; and object-oriented programming using inheritance, generics and covariance/contravariance in a functional programming language such as Scala.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3155
Requisites: Requires prerequisite courses of (CSCI 2270 or CSPB 2270 or CSCI 2275) and (APPM 3170 or CSCI 2824 or CSPB 2824 or ECEN 2703 or MATH 2001) (all min grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 3202 (3) Introduction to Artificial Intelligence

Surveys artificial intelligence techniques of search, knowledge representation and reasoning, probabilistic inference, machine learning, and natural language. Knowledge of Python strongly recommended.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3202
Requisites: Req. prereq of (CSPB/CSCI2270 or CSCI2275) (APPM3170 or CSPB/CSCI2824 or ECEN2703 or MATH2001) one of: (APPM3570/4570/CHEN3010/CSCI3022/CSPB3022/CVEN3227/ECEN3810/ECON3818/MATH3510/4510/STAT4520) (all min C-). Rstr to AppCompSci post-bac(CSAP).

CSPB 3287 (3) Design and Analysis of Database Systems

Introduces the fundamental concepts of database requirements analysis, database design, and database implementation with emphasis on the relational model and the SQL programming language. Introduces the concepts of Big Data and NoSQL systems.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3287
Requisites: Requires prerequisite course of CSCI 2270 or CSCI 2275 or CSPB 2270 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 3302 (3) Introduction to Robotics

Introduces students to fundamental concepts in autonomous robotics: mechanisms, locomotion, kinematics, control, perception and planning. Consists of lectures and lab sessions that are geared toward developing a complete navigation stack on a miniature mobile robotic platform.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 3303 and CSCI 3302
Requisites: Requires prereqs of (CSCI 2270 or CSPB 2270 or CSCI 2275) (APPM 3170 or CSCI 2824 or CSPB 2824 or ECEN 2703 or MATH 2001) (CSCI 2820 or CSPB 2820)(all min grade C-). Restricted to students in the Applied Computer Science Post-bac program(CSAP) only

CSPB 3308 (3) Software Development Methods and Tools

Covers tools and techniques for successful software development with a strong focus on best practices used in industry. Students work in small teams to complete a semester-long application development project. Students learn front-end design and construction using HTML & CSS, back-end database design and construction, and full-stack integration. Students gain exposure to agile methodologies, web services, distributed version control, requirements definition, automated integration testing, and cloud-based application deployment.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3308
Requisites: Requires prerequisite or corequisite course of CSPB 2270 or CSCI 2270 or CSCI 2275 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 3403 (4) Introduction to CyberSecurity for a Converged World

Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking. The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). At the conclusion of the course students should have a solid foundation in cybersecurity and hands-on experience.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3403
Requisites: Requires prerequisite courses of CSPB 2400 or CSCI 2400 or ECEN 3350 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 3702 (3) Cognitive Science

Introduces cognitive science, drawing from psychology, philosophy, artificial intelligence, neuroscience, and linguistics. Studies the linguistic relativity hypothesis, consciousness, categorization, linguistic rules, the mind-body problem, nature versus nurture, conceptual structure and metaphor, logic/problem solving and judgment. Emphasizes the nature, implications and limitations of the computational model of mind.

Equivalent - Duplicate Degree Credit Not Granted: LING 3005 and PHIL 3310 and PSYC 3005 and SLHS 3003 and CSCI 3702
Requisites: Requires prerequisite or corequiste of ASEN 1320 or CSCI 1300 or CSCI 2275 or CSPB 1300 or ECEN 1310 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.
Recommended: Prerequisites LING 2000 or PHIL 2440 or PSYC 2145.

CSPB 3753 (4) Design and Analysis of Operating Systems

Analyzes the software that extends hardware to provide a computing environment, including the role of linkers, file systems, resource sharing, security and networking. Studies the history of operating system organization and design and their influence on security, functionality and reliability.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 3753
Requisites: Requires prerequisite courses of (CSCI 2270 or CSPB 2270 or CSCI 2275) and (CSCI 2400 or CSPB 2400 or ECEN 3350) (all minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 4122 (3) Information Visualization

Studies interactive visualization techniques that help people analyze data. This course introduces design, development, and validation approaches for interactive visualizations with applications in various domains, including the analysis of text collections, software visualization, network analytics, and the biomedical sciences. It covers underlying principles, provides an overview of existing techniques, and teaches the background necessary to design innovative visualizations.

Requisites: Requires prerequisite or corequisite courses CSCI 1300 or CSPB 1300 and CSCI 2824 or CSPB 2824 (all minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 4502 (3) Data Mining

Introduces basic data mining concepts and techniques for discovering interesting patterns hidden in large-scale data sets, focusing on issues relating to effectiveness and efficiency. Topics covered include data preprocessing, data warehouse, association, classification, clustering, and mining specific data types such as time-series, social networks, multimedia, and Web data.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5502 and CSCI 4502
Requisites: Requires prerequisite course of CSPB 2270 or CSCI 2270 or CSCI 2275 (minimum grade C-). Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 4622 (3) Machine Learning

Introduces students to tools, methods, and theory to construct predictive and inferential models that learn from data. Focuses on supervised machine learning technique including practical and theoretical understanding of the most widely used algorithms (decision trees, support vector machines, ensemble methods, and neural networks). Emphasizes both efficient implementation of algorithms and understanding of mathematical foundations.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4622
Requisites: Prereqs: (CSCI/CSPB2270 or CSCI2275)(1 of APPM3310,CSCI/CSPB2820,MATH2130/2135)(1 of CSCI2824,CSPB2824,ECEN2703,APPM3170,MATH2001)(1 of APPM3570,CSCI/CSPB3022,CVEN3227,ECEN3810,ECON3818,MATH3510,MCEN3047,STAT3100/4000)(all min C-). CSAP students only

CSPB 4830 (1-4) Special Topics in Applied Computer Science

Covers topics of interest in applied computer science at the undergraduate level. Content varies from semester to semester.

Repeatable: Repeatable for up to 9.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to students in the Applied Computer Science Post-baccalaureate program (CSAP) only.

CSPB 4900 (1-3) Upper Division, Undergraduate Level Independent Study

Provides opportunities for independent study at the upper-division undergraduate level. Students work on a small research problem or tutor lower-division computer science students. Department consent required.

Repeatable: Repeatable for up to 3.00 total credit hours.
Requisites: Requires prerequisite course of CSPB 1300 or CSCI 1300 (minimum grade C-).