# Computer Science / Mathematics

Dordt has a unique major option which combines both mathematics and computer science courses as a joint major. This is an ideal option for students who have a passion for both mathematics and computing. The joint mathematics/computer science major helps students enhance their programming skills with a deeper understanding of mathematics. Similarly, students' mathematical explorations are enhanced by the ability harness to computing technology to solve problems.

Request Info## Program Overview

Dordt has a unique major option which combines both mathematics and computer science courses as a joint major. This is an ideal option for students who have a passion for both mathematics and computing. The joint mathematics/computer science major helps students enhance their programming skills with a deeper understanding of mathematics. Similarly, students' mathematical explorations are enhanced by the ability harness to computing technology to solve problems.

You can also combine your interest in mathematics and another field via a double major in business, computer science, engineering, physics, actuarial science, or other options.

### What can I do with a degree in computer science/mathematics from Dordt University?

With a computer science/mathematics degree from Dordt, your future opportunities are truly endless. The collaboration between computer science and mathematics allows for an extensive variety of careers. What you learn at Dordt will help you to succeed as a programmer, software administrator, systems analyst, or one of dozens of other jobs. From business programmers to data scientists, we’re equipping men and women to lead the future of digital technology.

There are plenty of career options for those who choose to study computer science / mathematics while at Dordt. Here are some of those options:

##### Market Research Analyst

A Market Research Analyst is responsible for collecting and analyzing information on consumers and competitors in order to determine the best way to market and sell a product.

##### Software Developer

Software Developers create, build, and design different computer programs and software.

##### Computer Systems Manager

A Computer Systems Manager manages computer-related activities and systems to ensure they are meeting the organization’s technology needs.

## Program Options

## Computer Science / Mathematics Major

As a Computer Science/Mathematics major, you’ll take courses in programming, information and database systems design, calculus, number theory, abstract algebra, and more.

The courses in the Computer Science/Mathematics program will help you understand the language of computers while developing and refining your math skills. You’ll learn the history and philosophy of math with classes like History of Mathematics. You’ll explore the impact of technology on society through the Technology and Society class. And you’ll be challenged in a number of other areas along the way.

To learn more, you can also view the program strengths and learning outcomes for this program.

The combination of mathematics and computer science allows for an enhanced knowledge and expertise in both topics. Students can use their programming skills, deeper understanding of mathematics, and ability harness to computing technology to solve problems.

Students looking to get a joint degree in Computer Science and Mathematics will need to complete nine computer science courses and eight mathematics courses. Students will also get to choose between taking a technology and society course or a history of mathematics course.

**Programming I**: An introduction to computer programming. Basic notions of abstraction, elementary composition principles, the fundamental data structures, and object-oriented programming technique are introduced. Topics include variables, control structures, arrays, and input/output.**Selected Topics in Programming**: An extension to the topics included in Computer Science 115 that will be beneficial to further study in computer science. Topics include a survey of other programming languages, an introduction to GUI and event-driven programming, and an introduction to the syntax of the C language.**Information Systems Design**: An introduction to the nature of information systems, the conceptual foundations and use of such systems. Topics include information systems project management, requirements analysis and use cases, structural and behavioral modeling, prototyping, use of the Unified Modeling Language, and an introduction to SQL database access.**Introduction to Data Communications**: A study of the concepts, issues, and technology involved in the transmission of data. Topics include network configurations, communications protocols, data coding schemes, and transmission hardware.**Computer Systems**: An introduction to the organization and inner workings of a modern digital computer and its components. Topics include introductory digital logic and circuits, CPU components, memory systems, input/output, storage systems, and introductory operating systems concepts. Students gain experience in working on computers in the laboratory component of this course. Three lectures and one laboratory period of two hours per week. Strong algebra skills required.**Programming II**: A continuation of Computer Science 115. The course includes advanced programming techniques, in-depth examination of object-oriented principles, good programming style including documentation, basic data structures including array lists and linked lists, and basic algorithm design, with attention to the sorting problem.**Data Structures**: A study of the various types of information forms handled by a computer, including the format of data and the design and analysis of algorithms to manipulate data. Topics include the use of functional programming and multi-threaded algorithms.**Advanced Topics in System-Level Programming**: A study of the relationship between the instruction set architecture of a computer and the software running on it, as mediated through the operating system. Topics include assembly-language programming, processor modes, memory management and virtual storage, multiprocessing, multithreading, deadlock, and systems security.**Introduction to Data Science**: Introduction to the field of data science and the workflow of a data scientist. Types of data (tabular, textual, sparse, structured, temporal, geospatial), basic data management and manipulation, simple summaries, and visualization. This course also serves as preparation for

Actuarial Exam PA. Additionally this course, along with Statistics 220 and Statistics 353, serves as preparation for Actuarial Exam MAS II.**Database Systems Design**: A study of the design, development, and implementation of an information system for management. Topics include database architecture, data definition and manipulation, report generation, and high-level language interface.**Client/Server Programming**: An introduction to software development in a networked computing environment. Focus will be on development of web-based software solutions employing tools such as scripting languages for both the client (browser) side and the server side.**Calculus I**: A study of the basic concepts and techniques of calculus for students in all disciplines. Topics include limits, differentiation, integration, and applications. This course is intended for students without any previous calculus credit.**Calculus II**: Continuation of Mathematics 152; a study of transcendental functions, integration techniques, Taylor series approximations, calculus in polar coordinates, vectors, calculus of vector valued functions and applications of calculus.**Elementary Linear Algebra**: An introductory study of vectors, matrices, linear transformations, vector spaces, determinants, and their applications, with particular emphasis upon solving systems of linear equations.**Number Theory**: An introduction to the main topics of elementary number theory, including divisibility, prime numbers, factorization congruences, number theoretic functions, and number theoretic equations.**Numerical Analysis**: A study of numerical methods for integration, differentiation, calculus of finite differences, and applications, using the computer.**Discrete Structures**: A study of topics in discrete mathematics that are relevant to computer science and mathematics, including logic and proof, induction and recursion, elementary set theory, combinatorics, relations and functions, Boolean algebra, and introductory graph theory.**Abstract Algebra I**: An introduction to algebraic structures focused on rings and fields. Connections between the ring of integers and the ring of polynomials over a field are developed and explored. Brief attention is given to groups.**Multivariable Calculus**: A study of differential and integral calculus of functions of several variables, and line and surface integrals.**Differential Equations**: An introduction to the theory and techniques of solving elementary differential equations and the use of these techniques in applied problems.**Introduction to Univariate Probability**: An introduction to the theory and techniques of general probability and common univariate probability distributions. Topics include but are not limited to basic set theory, introductory probability rules (independence, combinatorials, conditionals, Bayes theorem, etc.), common univariate distributions (e.g., binomial and normal) and expected value/variance. This course, along with Mathematics 216, also serves as preparation for Actuarial Exam P/1.**Introduction to Multivariate Probability**: An introduction to multivariate probability distributions. Topics include but are not limited to joint probability density functions, conditional and marginal probability distributions, moment generating functions, covariance and correlations, transformations and linear combinations of independent random variables. This course, along with Mathematics 215, also serves as preparation for Actuarial Exam P/1.**Advanced Linear Algebra**: An advanced study of vector spaces including matrices, linear transformations, orthogonality, the singular value decomposition, and applications.**Technology and Society**: An examination and critique of the relationship of technology to other areas of Western society. During the first half of the course students examine a Christian philosophy of technology and application is made to such problems as the role of the computer, technocracy, appropriate technology, and the historical two-cultures dualism. During its second half, the course focuses on the question of engineering ethics, with particular emphasis on such questions as safety and risk, professional responsibility and authority, whistle blowing, normative socioeconomic structures, and morality in career choice. This course requires the student to write and orally present a significant thesis paper.**History of Mathematics**: A survey of the history of mathematics from ancient times into the 20th century, in cultural context, with attention given to how the philosophy of mathematics relates to the development of mathematics.

### Ready to take the next step?

## Faculty

With experience in a variety of fields, our faculty members are equipped and ready to help you succeed.

Faculty Info## Student Stories

Dordt students and alumni use their gifts to make a difference in the world. Check out their stories to see how Defender Nation lives out our mission to work effectively toward Christ-centered renewal in all aspects of contemporary life.

## Connect with us

Submit your information to request more information about Dordt and this program. We'll also use this information to connect you with your admissions counselor!

## Related Programs

Still looking for the right fit? Here are some additional program options that we think might interest you or are often paired with this program. You can also view the programs page to keep exploring your options.