Baylor UniversityWebsiteAcademic Catalog
Computer ScienceDepartment Website
BS Degree in Computer Science (CS Concentration)source 1source 2ABET
CS Courses
- Introduction to Computer Science I with LaboratoryCSI 1430 (4)introCSI 1430: Introduction to Computer Science I with Laboratory
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.
- Introduction to Computer Science II with LaboratoryCSI 1440 (4)introCSI 1440: Introduction to Computer Science II with Laboratory
Continuation of CSI 1430. Introduction to basic aspects of arrays, pointers, classes, inheritance, polymorphism, virtual functions, linked lists, stacks, queues, and binary trees.
- Introduction to Computer SystemsCSI 2334 (3)sysCSI 2334: Introduction to Computer Systems
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.
- pick 2
Computer OrganizationCSI 3338 (3)sysCSI 3338: Computer OrganizationIntroduction 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.
Principles of Software DesignCSI 3342 (3)softengCSI 3342: Principles of Software DesignAn 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.
Software Quality Assurance and TestingCSI 3373 (3)softengCSI 3373: Software Quality Assurance and TestingQuality, 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.
Software Project ManagementCSI 3374 (3)softengCSI 3374: Software Project ManagementProject 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.
Competitive LearningCSI 4144 (1)algsCSI 4144: Competitive LearningStudents 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.
Introduction to CybersecurityCSI 4323 (3)impactCSI 4323: Introduction to CybersecurityThis 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.
Advanced CybersecurityCSI 4325 (3)sysCSI 4325: Advanced CybersecurityThis 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.
Computer GraphicsCSI 4341 (3)graphicsCSI 4341: Computer GraphicsIntroduction 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.
Gaming Platform FrameworksCSI 4342 (3)humansCSI 4342: Gaming Platform FrameworksGame 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.
Introduction to Data MiningCSI 4352 (3)aiCSI 4352: Introduction to Data MiningIntroduction 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.
- Database Design and ApplicationsCSI 3335 (3)sysCSI 3335: Database Design and Applications
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.
- Introduction to AlgorithmsCSI 3344 (3)algsCSI 3344: Introduction to Algorithms
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.
- Software Engineering ICSI 3471 (4)softengCSI 3471: Software Engineering I
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.
- orComputer EthicsPHI 1310 (3)impactPHI 1310: Computer Ethics
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.
- Introduction to Operating SystemsCSI 4337 (3)sysCSI 4337: Introduction to Operating Systems
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.
- Capstone Design ProjectCSI 43C9 (3)capstoneCSI 43C9: Capstone Design Project
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.
Math/Stat Courses
- or
- Discrete StructuresCSI 2350 (3)mathCSI 2350: Discrete Structures
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.
- Probability and StatisticsSTA 3381 (3)mathSTA 3381: Probability and Statistics
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.
Science Courses
- ororororGeneral Physics for Natural and Behavioral Sciences IPHY 1408 (4)sciPHY 1408: General Physics for Natural and Behavioral Sciences I
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.)
General Physics for Natural and Behavioral Sciences IIPHY 1409 (4)sciPHY 1409: General Physics for Natural and Behavioral Sciences IIThe 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.)
Other Courses
- 1 × Free Elective
Program Educational Objectives
- Practice in a computer science related profession and/or pursue advanced studies in computer science or related discipline.
- Use effective oral and written communication skills.
- Participate in collaborative environments.
- Become leaders in their chosen field.
- Exhibit a sense of professional ethics and civic responsibility.
Student Outcomes
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
- Apply computer science theory and software development fundamentals to produce computing-based solutions.
History of the Major
2024 | |
2023 | Replace 2 CS Electives (3000+) → 2 CS Electives from a list. |
2022 | |
2021 | Replace option CSI 3101 (Computers in Society) → PHI 1310 (Computer Ethics). |
2020 | (Create Cybersecurity Concentration). |
2019 | (Remove Gaming Concentration). |