Baylor UniversityWebsiteAcademic Catalog
Computer ScienceDepartment Website
Majors
Courses
source 1source 2source 3source 4source 5source 6source 7source 8source 9CSI 1401: Introduction to Programming I (4) intro
An introduction to computer science for non-majors, emphasizing computational thinking, problem-solving, small-scale programming, and applications. This includes basic programming constructs such as data, variables, functions, conditionals, loops, lists, files, sets, dictionaries, object-oriented programming, and problem solving. Applications will include image processing, numerical computing, and graphics.
CSI 1402: Introduction to Programming II (4) intro
This includes more advanced programming concepts such as data structures, class objects, object oriented programming and algorithm analysis
CSI 1430: Introduction to Computer Science I with Laboratory (4) intro
Introduction to computers, problem solving and algorithm development. Design, code, debug and document programs using techniques of good programming style and C++ programming language. Laboratory experiments and examples will be used to illustrate and reinforce concepts taught in the lectures.
CSI 1440: Introduction to Computer Science II with Laboratory (4) intro
Continuation of CSI 1430. Introduction to basic aspects of arrays, pointers, classes, inheritance, polymorphism, virtual functions, linked lists, stacks, queues, and binary trees.
CSI 2300: Introduction to Data Science (3) ai
Principles of data science, including problem workflow, variable types, visualization, modeling, programming, data management and cleaning, reproducibility, and big data.
CSI 2334: Introduction to Computer Systems (3) sys
An introduction to the structure of computer systems and the relationship between software and hardware. Topics include computer organization and representation of information in a computer. An assembly language will be used for programming assignments to illustrate the relationship between high-level languages and machine operations and interpretation of software.
CSI 2350: Discrete Structures (3) math
An introduction to the foundations of discrete structures as they apply to computer science, focusing on providing a solid theoretical foundation for further work. Topics include sets, ordered structures, graph and trees, functions, proof techniques, number systems, logic, Boolean algebra, etc.
CSI 3101: Computers in Society (1) impact
Study of computer ethics, risks, privacy, ownership of software, responsibility and liability, computer crime, and professional codes of conduct as they relate to society.
CSI 3303: Information Technology (3)
Topics covered will include hardware and software systems, social and ethical issues, information search strategies for research, and personal and organizational security issues (not applicable to a major in computer science).
CSI 3324: Numerical Methods (3) math
Numerical differentiation and integration, linear systems of equations, numerical solutions of ordinary differential equations, curve fitting, and computational techniques.
CSI 3334: Data Structures (3) intro
Software design and construction with abstract data types. Description, performance and use of commonly-used algorithms and data structures including lists, trees, and graphs.
CSI 3335: Database Design and Applications (3) sys
Current relational database design concepts including ER diagrams and normalization. Database access techniques such as SQL and JDBC. Database issues including performance and security. Web-database applications.
CSI 3336: Systems Programming (3) sys
The organization and structure of computer systems, basic concepts of an operating system, command line interpreter, script programming, and system calls. Programming projects in Unix and C programming language.
CSI 3338: Computer Organization (3) sys
Introduction to the organization and design of general purpose digital computers. Topics include instruction sets, CPU structures, hardwired and microprogrammed controllers, memory, I/O systems, hardware description languages and simulations.
CSI 3342: Principles of Software Design (3) softeng
An introduction to object-oriented analysis and design. Iterative development; identification of requirements; software development process; UML notation, models and methods; and introduction to design patterns. Software project using an object-oriented language.
CSI 3344: Introduction to Algorithms (3) algs
This course will provide a comprehensive introduction to computer algorithms taken from diverse areas of application. This course will concentrate on algorithms of fundamental importance and on analyzing the efficiency of these algorithms.
CSI 3371: Software Engineering I (3) softeng
Fundamentals of Software Engineering; software development processes, requirements analysis, modular design and implementation of software systems, software testing and evolution. A small project to illustrate and extend concepts from lectures.
CSI 3372: Software Engineering II (3) softeng
An engineering approach to software development emphasizing design patterns and techniques for enterprise application development. Completing software project applying development process.
CSI 3373: Software Quality Assurance and Testing (3) softeng
Quality, how to assure it and how to verify that it exists; the need for a culture of quality; how to avoid errors; inspections and reviews; verification versus validation; testing, verification, and validation techniques; process assurance and product assurance; quality process standards; faults; problem analysis and reporting; and statistical approaches to quality control.
CSI 3374: Software Project Management (3) softeng
Project planning, cost estimation, and scheduling; project management tools; factors influencing productivity and success; productivity metrics; analysis of options and risks; planning for change; management of expectations; release and configuration management; software process standards and process implementation; and software contracts and intellectual property.
CSI 3439: Computer Architecture (4) sys
Continued study of computer organization, focusing on hardware structure and implementation. Topics include digital logic CPU organization and microprogramming, memory organization, and input/output structures.
CSI 3471: Software Engineering I (4) softeng
Introduction to UML notation; constructing and interpreting use cases; interpreting UML models; introduction to design patterns; introduction to testing; introduction to configuration management; Java as a second language; and implementing a graphical user interface. Laboratory assignments and a small project illustrate and extend concepts from lectures.
CSI 4010: Undergraduate Research Seminar (0) talks
Introduction of computer science research opportunities to interested computer science undergraduates.
CSI 4111: Cybersecurity Laboratory (1) sys
This is a laboratory course that will emphasize both offensive and defensive security techniques in an applied laboratory environment. The course may be taken 3 times to earn an upper division elective.
CSI 4144: Competitive Learning (1) algs
Students in the course will learn and implement algorithms to solve programming challenges. Topics include graph algorithms, backtracking search, simulation, geometry, combinatorics, number theory, sorting, searching, parsing, and output formatting. The course may be taken up to 3 times for credit.
CSI 4301: Cultural Impact of the Computer (3) impact
Issues related to the creation and use of computer technology, considered within the broader context of technology and culture. Includes all topics from CSI 3101 as a subset.
CSI 4321: Data Communications (3) sys
Fundamentals of computer networking including data transmission, communication software, protocols, simple networks and internetworking.
CSI 4322: Numerical Analysis (3) math
Numerical evaluation of derivatives and integrals, solution of algebraic and differential equations, and approximation theory.
CSI 4323: Introduction to Cybersecurity (3) impact
This course provides an overview of cybersecurity threats, vulnerabilities, and defensive mitigations. The course will emphasize both theoretical concepts and practical application with critical thinking. Example topics include: authentication, access control, malware, intrusion, firewalls, encryption, software security, auditing/monitoring, and risk management.
CSI 4325: Advanced Cybersecurity (3) sys
This course provides additional depth and application of the cybersecurity concepts introduced in CSI 4323 (Introduction to Cybersecurity). Example topics include: penetration testing, cyber resilience, trusted computing, reverse engineering, network situational awareness, security architecture, incident handling, threat intelligence, and forensics.
CSI 4328: Numerical Linear Algebra (3) math
Numerical methods for solution of linear equations, eigenvalue problems, and least squares problems, including sparse matrix techniques with applications to partial equations.
CSI 4330: Foundations of Computing (3) theory
Theoretical concepts that form the basis of computer science, including regular languages, context-free languages, Turing-decidable languages, nondeterminism, parsing, NP_Completeness, and undecidability.
CSI 4335: Database Design I (3) sys
Concepts for current relational database design and implementation, including SQL, ER diagrams, normalization, JDBC, XML and DBMS components. Semester project designing a relational database.
CSI 4337: Introduction to Operating Systems (3) sys
Operating system design and implementation. Topics include process control and synchronization, memory management, processor scheduling, file systems, and security. Course projects implement parts of an operating system.
CSI 4341: Computer Graphics (3) graphics
Introduction to graphic representation and display of information and objects by computer. Topics include hardware display technology and algorithms for two-dimensional and three-dimensional graphics. A current graphic system model will be used for programming assignments.
CSI 4342: Gaming Platform Frameworks (3) humans
Game Framework Design and Development. An introduction to game development platforms. Topics include: Game design principles, project management, game-related algorithms/mathematics, game physics, game audio/video, AI, development tools, and real-time systems.
CSI 4344: Object-Oriented Development (3) softeng
Object-oriented analysis and design methods. Group software projects.
CSI 4352: Introduction to Data Mining (3) ai
Introduction to the concepts, techniques, and applications of data warehousing and data mining. Topics include design and implementation of data warehouse and OLAP operations; data mining concepts and methods such as association rule mining, pattern mining, classification, and clustering; applications of data mining techniques to complex types of data in various fields.
MTH 1321: Calculus I (3) math
Differential calculus of a single variable. Introduction to the definite integral and the Fundamental Theorem of Calculus.
MTH 1322: Calculus II (3) math
Integral calculus of a single variable, differential equations, slope fields, and power series.
MTH 2311: Linear Algebra (3) math
Vectors, matrix operations, linear transformations, fundamental properties of vector spaces, systems of linear equations, eigenvalues, and eigenvectors.
MTH 2321: Calculus III (3) math
Differential and integral calculus of several variables, Green's Theorem.
STA 2381: Introductory Statistical Methods (3) math
Parametric statistical methods. Topics range from descriptive statistics through regression and one-way analysis of variance. Applications are typically from biology and medicine. Computer data analysis is required.
MTH 3312: Foundations of Combinatorics and Algebra (3) math
Elementary counting principles, fundamental properties of the integers, the ring of integers modulo n, rings of polynomials, and an introduction to groups, rings and fields.
MTH 3370: Mathematical Methods of Operations Research (3) math
A survey of models and methods used in operations research. Topics include linear programming, dynamic programming, and game theory, with emphasis on the construction of mathematical models for problems arising in a variety of applied areas and an introduction to basic solution techniques.
STA 3381: Probability and Statistics (3) math
Introduction to the fundamentals of probability, random variables, discrete and continuous probability distributions, expectations, sampling distributions, topics of statistical inference such as confidence intervals, tests of hypotheses, and regression.
MTH 4312: Cryptology (3) math
Introduction to cryptology, the study of select codes and ciphers. Included is a historical context, a survey of modern crypto systems, and an exposition of the role of mathematical topics such as number theory and elliptic curves in the subject. Mathematical software will be available.
BIO 1105: Modern Concepts of Bioscience Laboratory (1) sci
Laboratory experiments illustrating modern concepts in the biological sciences, with emphasis on cell biology, metabolism, and genetics.
BIO 1106: Modern Concepts of Bioscience Laboratory (1) sci
Laboratory experiments illustrating modern concepts in the biological sciences, with emphasis on morphology, general physiology, and ecology.
BIO 1305: Modern Concepts of Bioscience (3) sci
Unifying principles common to all levels of biological organization, with emphasis on cell biology, metabolism, and genetics.
BIO 1306: Modern Concepts of Bioscience, continued (3) sci
Continuation of the study of biological concepts with emphasis on morphology, general physiology, evolution, and ecology.
PHY 1408: General Physics for Natural and Behavioral Sciences I (4) sci
The fundamentals of mechanics, heat, and sound, with emphasis on physical concepts, problem solving, notation, and units. (PHY 1408 and 1409 or PHY 1420 and 1430 satisfy premedical, predental, and liberal arts requirements.)
PHY 1409: General Physics for Natural and Behavioral Sciences II (4) sci
The fundamentals of electricity, magnetism, light, and modern physics, with emphasis on physical concepts, problem solving, notation, and units. (PHY 1408 and 1409 or PHY 1420 and 1430 satisfy premedical, predental, and liberal arts requirements.)
PHY 1420: General Physics I (4) sci
Principles and applications of mechanics, wave motion, sound, and heat with emphasis on fundamental concepts, problem solving, notation, and units.
PHY 1430: General Physics II (4) sci
Principles and applications of electricity, magnetism, light, and modern physics, with emphasis on fundamental concepts, problem solving, notation, and units.
CHE 1101: General Chemistry Laboratory I (1) sci
An introductory laboratory course that illustrates topics covered in CHE 1301, including chemical reactions, the mole concept, properties of gases and solutions, thermochemistry, and molecular bonding.
CHE 1102: General Chemistry Laboratory II (1) sci
An introductory laboratory course that illustrates topics covered in CHE 1302, including properties of solutions, kinetics, equilibrium, thermodynamics, electrochemistry, and chemical analysis.
CHE 1301: Basic Principles of Modern Chemistry I (3) sci
An introduction to chemical reactions; the mole concept; properties of gases, solids, liquids, and solutions; atomic structure; periodic properties; chemical bonding, and molecular structure.
CHE 1302: Basic Principles of Modern Chemistry II (3) sci
A continuation of CHE 1301 with emphasis on chemical equilibrium, thermodynamics, electrochemistry, kinetics, and radiochemistry.
CSS 1302: Speech for Business and Professional Students (3) communication
Preparation and delivery of the types of presentations employed in organizational and corporate settings.
ELC 4330: Introduction to Robotics (3)
Analysis of robot manipulators, including forward and inverse kinematics, rigid-body rotation parameterizations, velocity kinematics, path planning, nonlinear dynamics, single and multi-variable control.
ELC 4353: Image Formation and Processing (3)
Introduction to image formation systems that provide images for medical diagnostics, remote sensing, industrial inspection, nondestructive materials evaluation and optical copying. Image processing, including image enhancement, analysis, and compression. Student specialization through assignments and project.
ELC 4438: Embedded Systems Design (4)
Design and implementation of embedded computer systems using microcontrollers, sensors and data conversion devices, actuators, visual display devices, timers, and applications specific circuits. Software design using microprocessor cross-development systems and real-time operating system principles.
GEO 1106: The Earth Through Time, Laboratory (1)
Counterpart lab to either GEO 1306, GEO 1307, or GEO 1309.
GEO 1306: The Earth Through Time (3)
In this course, students will gain an understanding of the relationship between the Earth's history and what that history suggests about both Earth's future and the present distribution of natural resources that support civilization.
GEO 1405: The Dynamic Earth (4)
Survey of processes that have shaped the earth, including mountain building, volcanism, deposition of sediments, and landscape development. Plate tectonics integrates all the above into a dynamic theory of the deformation of the earth.
PHI 1310: Computer Ethics (3) impact
Analysis of ethical problems for information technologies. Topics include ethical implications of new possibilities in information technologies, privacy, ownership, professional codes of conduct as they relate to society, and role of information technologies in shaping morality of government, education, politics, business, and society.
CSI 1V90: Special Topics in Freshman Computer Science (14) special
For undergraduates who wish to study introductory topics not available in formal courses within the major. Course may be repeated with a change in content or topic.
CSI 3V90: Special Topics in Intermediate Computer Science (14) special
For undergraduates who wish to study intermediate topics not available in formal courses within the major. Course may be repeated with a change in content or topic.
CSI 3V95: Internship Experience (13)
Department arranged/approved summer intern work experience in computer science-related position. Includes a minimum of eight weeks of employment.
CSI 43C8: Gaming Capstone Design Project (3) capstone
A semester long project course in which students will create a gaming system. The project requires applying information technology according to established design management practices, including technical presentations (oral and written) by all students.
CSI 43C9: Capstone Design Project (3) capstone
A semester-long project course in which students will create a computing system. The project requires applying information technology according to established design management practices, including technical presentations (oral and written) by all students.
CSI 4V96: Special Topics in Computer Science (19) special
Consent of instructor is required