Major in Computer Science (B.A.)
COS 100Introduction to Programming3
or COS 205 Scientific Computing
COS 105Computer Science 14
COS 212Computer Science 24
COS 214Computer Architecture4
COS 216Data Structures and Algorithms3
COS 301Operating Systems4
COS 450Humans and Computers3
MAT 124MCalculus 14
MAT 241Discrete Mathematics3
Choose two of the following Applications of Computer Science courses:6
Database Systems
Web Programming
Data Mining and Machine Learning
Data Communications and Computer Networks
Software Process
Software Engineering
Electives from 300-level or above Computer Science courses or MAT 344 or MAT 376 or PSY352/353 or ENR 352/3539-10
Major *47-48
General Education49-50
Electives24-26
Total Credits122

Print Version: Excel

Print Version: PDF

B.A. in Computer Science 2018-2019: Option 1 - CWILT

First Year
FallCreditsInterimCreditsSpringCredits
COS 100 or 205 Introduction to Programming or Scientific Computing3GES 160 Inquiry Seminar3COS 105 Computer Science 14
MAT 124M Calculus 14 GES 130 Christianity Western Culture4
BIB 101 Introduction to the Bible3 GES 140 Introduction to Wellbeing3
GES 125 Introduction to the Creative Arts4 Second Language (S) course 4
 14 3 15
Second Year
FallCreditsInterimCreditsSpringCredits
COS 212 Computer Science 24Electives 3COS 214 Computer Architecture4
MAT 241 Discrete Mathematics3 COS 216 Data Structures and Algorithms3
Laboratory Science (D) course 4 THE 201 Christian Theology3
Contemporary Western Life and Thought (L) course 3 Cross-Cultural Experience (Z) course 0-3
  Electives 3
 14 3 15
Third Year
FallCreditsInterimCreditsSpringCredits
COS 3182 Web Programming3COS 450 Humans and Computers3COS 477 (spring, even years)2 Software Engineering3
COS 301 Operating Systems4 Computer Science Elective 3
World Cultures (U) course 3 Comparative Systems (G) 3
Science, Technology, and Society (K) course 3 Leisure and Lifetime Sports (Q) course 1
  Elective 3
  Artistic Experience (A) course 0-3
 13 3 13-16
Fourth Year
FallCreditsInterimCreditsSpringCredits
COS 313 (fall, even years (or elective))2 Database Systems3Interim Off COS 386 (spring, odd years (or Elective))2 Data Communications and Computer Networks3
Computer Science elective 3 Computer Science Elective 3
Interpreting Biblical Themes (J) course 3 Contemporary Christian Issues (P) course 3
Electives 5 Electives 6
 14 0 15
Total Credits 122-125

Most financial aid packages stipulate 12 credits/semester; Minnesota state grants are reduced when credit load falls below 15 credits/semester. (Interim credits may be split between fall and spring for state grant purposes only.)

B.A. in Computer Science 2018-2019: Option 2 - Humanities

First Year
FallCreditsInterimCreditsSpringCredits
COS 100 or 205 Introduction to Programming or Scientific Computing3GES 147 Humanities II: Renaissance and Reformation4COS 105 Computer Science 14
MAT 124M Calculus 14 GES 244 Humanities III: European Enlightenment and American Culture to 18774
GES 140 Introduction to Wellbeing3 BIB 101 Introduction to the Bible3
GES 145 Humanities I: Greco-Roman through Middle Ages4 Second Language (S) course 4
 14 4 15
Second Year
FallCreditsInterimCreditsSpringCredits
COS 212 Computer Science 24Electives 3COS 214 Computer Architecture4
MAT 241 Discrete Mathematics3 COS 216 Data Structures and Algorithms3
Laboratory Science (D) course 4 Electives 6
GES 246 Humanities IV: Modern and Contemporary Western Culture4 Cross-Cultural Experience (Z) course 0-3
 15 3 15
Third Year
FallCreditsInterimCreditsSpringCredits
COS 3182 Web Programming3COS 450 Humans and Computers3COS 477 (spring, even years)2 Software Engineering3
COS 301 Operating Systems4 Computer Science Elective 3
World Cultures (U) course 3 Comparative Systems (G) 3
Science, Technology, and Society (K) course 3 Leisure and Lifetime Sports (Q) course 1
  Elective 3
  Artistic Experience (A) course 0-3
 13 3 13-16
Fourth Year
FallCreditsInterimCreditsSpringCredits
COS 313 (fall, even years (or elective))2 Database Systems3Interim Off COS 386 (spring, odd years (or Elective))2 Data Communications and Computer Networks3
Computer Science elective 3 Computer Science Elective 3
Interpreting Biblical Themes (J) course 3 Contemporary Christian Issues (P) course 3
Electives 5 Elective 4
 14 0 13
Total Credits 122-125

Most financial aid packages stipulate 12 credits/semester; Minnesota state grants are reduced when credit load falls below 15 credits/semester. (Interim credits may be split between fall and spring for state grant purposes only.)

COS 100 • Introduction to Programming 3 Credits.

An introduction to programming using a current procedural (imperative) programming language. Standard data types and control structures are introduced.
Offered: Fall, interim.

COS 105 • Computer Science 1 4 Credits.

Introduction to fundamental computer programming design principles. Strong emphasis on theory. Extensive programming assignments in a current object-oriented computer language.
Prerequisites: COS 100, COS 205, or equivalent proficiency; MAT 123M, MAT 124M, MAT 125, or equivalent proficiency. Offered: Spring. Special Notes: Not designed as a computer literacy course. Includes 6 lab hours.

COS 205 • Scientific Computing 3 Credits.

Introduction to programming in C and C++ with an emphasis on issues relevant to scientific computing such as machine error, performance, and implementation of common numerical algorithms.
Prerequisites: MAT 124M. Offered: Fall, spring

COS 212 • Computer Science 2 4 Credits.

Elementary data structures such as file structures, linked lists, and simple trees. Introduction to fundamental search and sort algorithms, analysis, design methodologies, and object-oriented programming. Extensive programming assignments in a current computer language.
Prerequisites: COS 105 or COS 205 with consent of instructor. Special Notes: Includes 6 lab hours. Offered: Fall.

COS 214 • Computer Architecture 4 Credits.

Assembly and machine language to study computer organization and structure, including addressing techniques, digital logic and representation of numbers and arithmetic. Also includes an introduction to C.
Prerequisites: COS 212. Special Notes: Includes 6 lab hours. Offered: Spring.

COS 216 • Data Structures and Algorithms 3 Credits.

Advanced data structures, algorithms, and algorithm analysis. Extensive programming assignments in a current object-oriented computer language.
Prerequisites: COS 212; MAT 241. Offered: Spring

COS 301 • Operating Systems 4 Credits.

Computer organization, structure of operating systems, memory management, process management, resource allocation, and operating system monitors. Alternative approaches to operating system design.
Prerequisites: COS 214; knowledge of C or C++. Offered: Fall

COS 313 • Database Systems 3 Credits.

Relational and object-oriented databases, schemas, and normalization. Database management systems, SQL, concurrent transactions, logging/disaster recovery, and query optimization. Application program interaction with database management systems.
Prerequisites: COS 216. Offered: Fall, even # years

COS 318 • Web Programming 3 Credits.

An examination of the foundational technologies used for creating web applications. Includes client and server programming, as well as fundamentals of cloud services, including security, storage, and reliability.
Prerequisites: COS 216. Special Notes: Some knowledge of HTML and the basics of JavaScript are expected. Offered: Fall.

COS 320 • Computer Graphics Programming 3 Credits.

An introduction to the drawing methods, geometrical transforms, and illumination models that are fundamental to computer graphics programming. Topics include modeling of 2D and 3D objects, local and global illumination simulation, shading, color models, procedural modeling, and discrete (fragment) techniques including texture mapping. A current graphics API is used, including custom shaders.
Prerequisites: COS 216. Offered: Fall odd # years

COS 334 • Data Mining and Machine Learning 3 Credits.

An introduction to widely-used techniques for extracting information from large data sets such as medical databases, credit reports, weather history, and the stock market. Includes algorithms for nominal and ordinal data and metrics to measure their performance. Students will implement common algorithms with real data and choose appropriate algorithms for different applications.
Prerequisites: COS 216. Offered: Spring, even # years.

COS 337K • Behavioral Robotics 3 Credits.

Control and automation are fundamental aspects of human, animal, and machine behavior. These topics will be considered from philosophical and psychological perspectives and explored through robotics and other hands-on experimental labs, in order to develop both a practical and theoretical, understanding of behavior.
Prerequisites: Laboratory Science (D) course; Mathematics (M) course. Special Note: Carries cross credit in psychology. Offered: Interim

COS 351 • High-Performance Computing 3 Credits.

Fundamental concepts and techniques for parallel computation in C/C++ (load balancing, communication, synchronization, serial program decomposition) using an industry-standard parallel computing library.
Prerequisites: COS 205 or COS 214. Offered: Interim

COS 371 • Organization of Programming Languages 3 Credits.

Formal programming language specification using various grammars and the Backus-Naur Form. Data types and structures, control structures, and data flow of several programming languages, including interpreters and compilers. Introduction to parsing and lexical analysis.
Prerequisites: COS 216. Offered: Spring, even # years

COS 386 • Data Communications and Computer Networks 3 Credits.

Data communications including interprocess communication, computer networking, and associated software protocols. Topics include network topologies, point-to-point network protocols, local area networks, and interconnection of networks.
Prerequisites: COS 301. Offered: Spring, odd # years

COS 389 • Artificial Intelligence 3 Credits.

Basic concepts and techniques of artificial intelligence, including representation, notational structures, searches, control structures, and logic programming languages. Samples of current work in several application areas including natural language systems, expert systems, and neural networks.
Prerequisites: COS 216. Offered: Spring, odd # years

COS 420 • Software Process 3 Credits.

Balancing the various real-world challenges that a software engineer encounters, including ambiguity, conflicting requirements, task-time estimation, team dynamics, requests from customers, product managers or architects. A team-based software project on a modern computer science topic will be developed during the semester.
Prerequisites: COS 216; COS 477 recommended. Special Notes: Cross listed with ENR 420. Offered: Spring odd # years.

COS 450 • Humans and Computers 3 Credits.

Examines the ways that humans and computers interact. Issues in user experience and human-machine interaction are explored. Christian and professional ethics in the development and application of computing technology are extensively examined.
Prerequisites: COS 216. Offered: Interim, even # years. Special Notes: Students may not receive credit for both COS 450 and GES 334K.

COS 477 • Software Engineering 3 Credits.

Formal approach to the design and development of software. Multiple process models discussed and compared. Other topics include design patterns, project management and estimation, team management, formal methods, documentation, system and data description, verification and validation, and process improvement.
Prerequisites: COS 216. Special Notes: Cross listed with ENR 477. Offered: Fall, odd # years.

COS 490 • Topics in Computer Science 3 Credits.

A seminar to provide an in-depth survey of a recent trend or field in the rapidly changing discipline of computer science. Students work on a significant project and explore the future implications of the current topic.
Prerequisites: COS 216. Offered: Occasionally.