Texas A&M UniversityWebsiteAcademic Catalog
Computer ScienceDepartment Website
BA Degree in Computingsource 1source 2
CS Courses
- Programming IorCSCE 110 (4)introCSCE 110: Programming I
Basic concepts in using computation to enhance problem solving abilities; understanding how people communicate with computers, and how computing affects society; computational thinking; representation of data; analysis of program behavior; methods for identifying and fixing errors in programs; understanding abilities and limitation of programs; development and execution of programs.
Introduction to Computer Science Concepts and ProgrammingorCSCE 111 (4)introCSCE 111: Introduction to Computer Science Concepts and ProgrammingComputation to enhance problem solving abilities; understanding how people communicate with computers, and how computing affects society; computational thinking; software design principles, including algorithm design, data representation, abstraction, modularity, structured and object oriented programming, documentation, testing, portability, and maintenance; understanding programs’ abilities and limitations; development and execution programs.
Structured Programming in CCSCE 206 (4)introCSCE 206: Structured Programming in CBasic concepts, nomenclature and historical perspective of computers and computing; internal representation of data; software design principles and practice; structured and object-oriented programming in C; use of terminals, operation of editors and executions of student-written programs.
- Program Design and ConceptsCSCE 120 (3)introCSCE 120: Program Design and Concepts
Extension of prior programming knowledge and creation of computer programs that solve problems; use of the C++ language; application of computational thinking to enhance problem solving; analysis of, design of and implementation of computer programs; use of basic and aggregate data types to develop functional and object oriented solutions; development of classes that use dynamic memory and avoid memory leaks; study of error handling strategies to develop more secure and robust programs.
- Data Structures and AlgorithmsCSCE 221 (4)introCSCE 221: Data Structures and Algorithms
Specification and implementation of basic abstract data types and their associated algorithms including stacks, queues, lists, sorting and selection, searching, graphs, and hashing; performance tradeoffs of different implementations and asymptotic analysis of running time and memory usage; includes the execution of student programs written in C++.
- Discrete Structures for ComputingCSCE 222 (3)theoryCSCE 222: Discrete Structures for Computing
Mathematical foundations from discrete mathematics for analyzing computer algorithms, for both correctness and performance; introduction to models of computation, including finite state machines and Turing machines.
- pick 3
Computational Data ScienceCSCE 305 (3)aiCSCE 305: Computational Data ScienceComputational practice of data science through a sequence of interactive modules that provides an integrated hands-on approach to its methods, tools, applications and supporting technologies including high performance and cloud computing platforms.
Principles of Data ScienceCS Electives (400+)CSCE 320 (3)aiCSCE 320: Principles of Data ScienceTheoretical foundations, algorithms and methods of deriving valuable insights from data; includes foundations in managing and analyzing data at scale, e.g. big data; data mining techniques and algorithms; exploratory data analysis; statistical methods and models; data visualization.
- Computer OrganizationCSCE 312 (4)sysCSCE 312: Computer Organization
Computer systems from programmer's perspective including simple logic design, data representation and processor architecture, programming of processors, memory, control flow, input/output, and performance measurements; hands-on lab assignments.
- Introduction to Computer SystemsCSCE 313 (4)sysCSCE 313: Introduction to Computer Systems
Introduction to system support for application programs, both on single node and over network including OS application interface, inter-process communication, introduction to system and network programming, and simple computer security concepts; hands-on lab assignments.
- Programming LanguagesCSCE 314 (3)plsCSCE 314: Programming Languages
Exploration of the design space of programming languages via an in-depth study of two programming languages, one functional and one object-oriented; focuses on idiomatic uses of each language and on features characteristic for each language.
- Foundations of Software EngineeringCSCE 331 (4)softengCSCE 331: Foundations of Software Engineering
Intensive programming experience and provision of the fundamentals needed for larger-scale software development; integration of concepts in computer science and familiarization with a variety of programming and development tools and techniques; team projects each with an emphasis on a different specialization within computer science; emphasis on programming techniques to ease code integration and clarity; practical exposure to software-engineering processes through large-scale projects and specification and documentation.
- Design and Analysis of AlgorithmsCSCE 411 (3)algsCSCE 411: Design and Analysis of Algorithms
Study of computer algorithms for numeric and non-numeric problems; design paradigms; analysis of time and space requirements of algorithms; correctness of algorithms; NP-completeness and undecidability of problems.
Math/Stat Courses
- ororor
- Mathematics for Business and Social SciencesororMATH 140 (3)mathMATH 140: Mathematics for Business and Social Sciences
Application of common algebraic functions, including polynomial, exponential, logarithmic and rational, to problems in business, economics and the social sciences; includes mathematics of finance, including simple and compound interest and annuities; systems of linear equations; matrices; linear programming; and probability, including expected value.
Engineering Mathematics IIorororMATH 152 (4)mathMATH 152: Engineering Mathematics IIDifferentiation and integration techniques and their applications (area, volumes, work), improper integrals, approximate integration, analytic geometry, vectors, infinite series, power series, Taylor series, computer algebra.
- orIntroduction to BiometryorSTAT 301 (3)mathSTAT 301: Introduction to Biometry
Intended for students in animal sciences. Introduces fundamental concepts of biometry including measures of location and variation, probability, tests of significance, regression, correlation and analysis of variance which are used in advanced courses and are being widely applied to animal-oriented industry.
Statistical MethodsorSTAT 302 (3)mathSTAT 302: Statistical MethodsIntended for undergraduates in the biological sciences. Introduction to concepts of random sampling and statistical inference; estimation and testing hypotheses of means and variances; analysis of variance; regression analysis; chi-square tests.
Statistical MethodsSTAT 303 (3)mathSTAT 303: Statistical MethodsIntended for undergraduates in the social sciences. Introduction to concepts of random sampling and statistical inference, estimation and testing hypotheses of means and variances, analysis of variance, regression analysis, chi-square tests.
Other Courses
- orCommunication for Technical ProfessionsorCOMM 205 (3)communicationCOMM 205: Communication for Technical Professions
Design and presentation of oral reports for technical professions; incorporation of visual and graphic materials into presentation required; written reports required; also taught at Galveston campus.
Technical and Professional WritingENGL 210 (3)communicationENGL 210: Technical and Professional WritingFocus on writing for professional rhetorical situations; correspondence and researched reports fundamental to the workplace—memoranda, letters, electronic correspondence, research proposals and presentations; use of visual rhetoric and document design in print and electronic mediums; emphasis on audience awareness, clarity of communication and collaborative team-work