COS 102 - Fundamentals of Systems and Computing

Credit Hours: 3

Prerequisites: none

Only offered falls


An introduction to the basic concepts of “system” and “process” with particular emphasis on computing systems. Major topics include systems thinking, quality, problem solving, and design. Computing-specific topics include algorithms, networks, computer hardware, and basic relational database concepts. The learning experience features field trips and guest lectures.


COS 103 - CSE New Majors Orientation

Credit Hours: 1

Prerequisites: none

Only offered falls


Provides an introduction to the Computer Science and Engineering majors focusing on the habits, mindset, and requirements for success in the major. The course includes an overview of the discipline with an exploration of various career paths in computing (e.g., industry, missions, graduate school, etc.). A significant portion of the course involves a weekend retreat with faculty, staff, and graduating seniors. Lastly, students are introduced to integrating faith and computing.


COS 104 - Computing and Culture – Applications and Context

Credit Hours: 2

Prerequisites: none


An introduction to the ideas of computational technology including the use of applications, ethical foundations and the understanding of the context of technology in our world. Analysis from a Christian perspective is emphasized. Topics discussed include algorithmic thinking, organization of data with spreadsheets and databases, internet and security, hardware, software, and the history of computers. Important skills covered in the course include web design, spreadsheet and database applications, video and photo manipulation, information literacy, and an introduction to the process of programming. Meets foundational core computation requirement.


COS 105 - Ethics, Computing, and Society

Credit Hours: 1

Prerequisites: Only available to transfer students who have credit in an acceptable computer competency course and will meet the foundational core computation requirement for such students.

Only offered j-terms


As computing technology becomes more complex and less visible, we understand less about how the world functions. Our worldview is impacted by technology in ways that are not recognized and, therefore, not critically evaluated, particularly with a Christian understanding. This course is designed to introduce students to the context of computation in their world. Through writing, discussions, and class assignments, students will gain an understanding of computing technology that goes beyond its use and explores the impact of technology on our world view. The context provided includes an introduction to the issues in our society associated with ethics and technology. Main topics addressed include: applying major ethical theories, intellectual property, privacy, and putting technology into context with a Christian perspective.


COS 109 - Computer and Network Operations

Credit Hours: 3

Prerequisites: none

Only offered springs


A study of the concepts, principles, tools, and constraints related to computer and network operations, including the following topics: shell scripting, information technology system components, systems policy and governance, operating systems management, network devices, and virtual machines. Students will install and configure commodity operating systems, manage users, analyze system logs, write scripts to automate systems administration, review and write information technology policies, and related activities.


COS 120 - Introduction to Computational Problem Solving

Teacher: Dr. Art White

Credit Hours: 4

Prerequisites: none

Only offered falls


Approaches to computing solutions for problems from a variety of subject areas are examined and provide motivation for the study of the development of algorithms and their implementation. Programming concepts are introduced incrementally in order to solve increasingly complex problems. Good algorithm design and program structure are emphasized. Introductory data structures and software engineering principles are stressed. An introduction to object oriented programming is included. Meets foundation core computation requirement. SYS 120 may serve as substitute if taking during Spring Semester.


COS 121 - Foundations of Computer Science

Teacher: Dr. Stefan Brandle

Credit Hours: 4

Prerequisites: COS 120 or COS 130 or SYS 120

Only offered falls


This course builds on COS 120 by emphasizing object-oriented programming and including concepts of computer science such as computational complexity simulation and recursion. The use and implementation of data structures such as lists, stacks, queues, and trees are introduced as they are needed in developing algorithms for problems studied. Additional topics include the Linux operating system and tools, source code versioning, unit testing, and code refactoring.


COS 130 - Computational Problem Solving for Engineers

Credit Hours: 3

Prerequisites: none


This course will take a similar approach to solving problems as COS 120. The differences will be an accelerated pace and using computational tools expected to be used in the various fields of engineering (C and Matlab). Meets foundation core computation requirement.


COS 143 - Interactive Web Page Design

Credit Hours: 4

Prerequisites: none

Only offered jterms, some falls and springs


A study of how to deliver interactive webpages through a web browser. Students will learn to represent the data structurally with HTML, the presentation with CSS, and the functionality with Javascript. Students will explore good design strategies that promote useful webpages. In order to deliver interactive sites, the students will utilize remote scripting (AJAX) to connect with existing server functionality to receive XML or JSON data for page updates. Modern web technologies including HTML5, CSS3, DOM manipulation, etc. will be explored.


COS 170 - Selected Topics

Credit Hours: 1-4

Prerequisites: none


A course offered on a subject of interest but not listed as a regular course offering.


COS 230 - Missions Technology

Credit Hours: 3

Prerequisites: none


A survey and in-depth study of the range of technology applied to Christian missions. Theory and issues in sustainable application are developed. Interaction with mission agencies and a practical project are included.


COS 232 - Computer and Network Security I

Credit Hours: 3

Prerequisites: COS 121

Only offered falls


A study of the fundamentals of operating system, network, and application security. Major areas of exploration include: fundamental security design principles, application vulnerability analysis, network penetration testing, basic cryptography, and defensive programming techniques.


COS 243 - Multi-tier Web Application Development

Credit Hours: 3

Prerequisites: COS 121 and COS 143

Only offered falls and sometimes springs


The course will explore how to develop a complete web application with implementation separating concerns between content delivery, business logic, and data storage. An emphasis on a modern MVC platform will be used to provide the separation of concerns. Additionally, core database knowledge for a functioning application will be explored including data modeling for a relational database, common SQL queries, data normalization foreign key constraints, and aggregate operations.


COS 265 - Data Structures and Algorithms

Teacher: Dr. Jon Denning

Credit Hours: 4

Prerequisites: COS 121

Only offered falls


A survey of data structures and algorithms that operate on them, with an emphasis on abstract data types and analysis of computational complexity.


COS 270 - Selected Topics

Credit Hours: 1-4

Prerequisites: none


A course offered on a subject of interest but not listed as a regular course offering.


COS 280 - Introduction to Artificial Intelligence

Credit Hours: 3

Prerequisites: COS 121

Only offered springs


A survey of the field of artificial intelligence. Major areas of exploration include search, logic, learning, knowledge representation, problem solving, natural language processing, computer vision, robotics, expert systems, and neural networks. An introduction to Lisp is included.


COS 284 - Introduction to Computer Systems

Credit Hours: 3

Prerequisites: COS 121 and MAT 215

Only offered springs


An integrated introduction to computer hardware architecture, operating systems, and their interaction. Assembly language and operating system programming are emphasized.


COS 310 - Current Literature Survey

Credit Hours: 1

Prerequisites: Any 300 level COS course

Only offered falls


A survey of classical and current literature in computer science. A goal of the course is to produce a concept for a research proposal with literature survey appropriate for an undergraduate research project. Students lead discussions on papers and topics of interest.


COS 311 - Ethics in Computer Science

Credit Hours: 3

Prerequisites: none

Only offered springs


A study of the ethical implications of computers in society and the role of Christians as computer science and engineering professionals. Foundational concepts of Western moral philosophy are presented. Major ethical issues, such as privacy, piracy, liability, equity, and whistle-blowing are explored. Professional society codes of conduct are examined and discussed. Legal and ethical issues such as piracy, copyright, and fair use related to media are also addressed. Ethical concerns of computer science and systems analysis and their relationship to one's faith are an integral part of this course.


COS 320 - Algorithm Design

Credit Hours: 3

Prerequisites: COS 265 and MAT 215

Only offered every even spring


Algorithms and related data structures from a variety of areas are examined and analyzed. Parallel processing paradigms and theoretical topics, such as complexity models, are introduced.


COS 321 - Ethics and Technology

Credit Hours: 3

Prerequisites: none

Only offered spring


A study of the ethical implications of computing technology in society and the role of Christians as users, people impacted by, and shapers of computing technology. Foundational concepts of Western moral philosophy are presented. Major ethical issues, such as privacy, piracy, liability, equity, and whistle-blowing are explored. Professional society codes of conduct are examined and discussed. Legal and ethical issues such as piracy, copyright, and fair use related to media are also addressed. Ethical concerns of computer science and systems analysis and their relationship to one's faith are an integral part of this course. This course is intended for students in the Honors Guild but will also meet the COS 311 requirement for majors in computer science and engineering.


COS 323 - Computer and Network Security II

Credit Hours: 3

Prerequisites: COS 232

Only offered spring


A study of operating system, network, and application security. This course is a continuation of COS 232 (Computer and Network Security). Major areas of exploration include: software reverse engineering, static and dynamic program analysis, basic cryptanalysis, and related current topics.


COS 331 - Data Communications

Credit Hours: 3

Prerequisites: COS 121

Only offered spring


A study of the nature and applications of data communications in use today. Fundamental concepts of types, modes, and media of transmission are studied. Communication protocols and their encompassing architectures are analyzed and compared. Practical applications of data communications concepts are demonstrated through networking projects and development of communications software.


COS 333 - Missions Computing Trip

Credit Hours: 3

Prerequisites: instructor permission and COS 121 or COS 143

Only offered every odd j-term


Combining computer science and service to the missions community, students travel to an international location during Interterm to undertake software development and systems analysis for a missions' partner. Students design, construct, test, document, and deploy a non-trivial software system that meets the partner's requirements. Students experience the local culture and participate in direct ministry as opportunities arise. Meets foundational core cross-cultural requirement.


COS 340 - Software Engineering

Credit Hours: 3

Prerequisites: COS 121

Only offered fall


A study of the concepts, tools, best practices, and lifecycle phases associated with developing large software systems, in groups, over prolonged durations. Using an agile software development process, students gather requirements, design, and begin construction of a non-trivial software system.


COS 343 - Database Systems

Credit Hours: 3

Prerequisites: MAT 215

Only offered fall


A study of the fundamental concepts of how database technologies work. An emphasis on relational databases will be explored, including normalization, advanced SQL queries, indexing, physical data storage, performance and tuning strategies, and concurrency control. Students will be introduced to other database technologies possibly including object-oriented databases, NoSQL, replication, etc.


COS 350 - Computer Graphics

Credit Hours: 3

Prerequisites: COS 121

Only offered fall


An introductory course in computer graphics with an emphasis on 3D image production using a variety of approaches, including ray tracing, and raster graphics. Basic algorithms, data structures, and GUI programming are introduced.


COS 351 - Computer Vision

Credit Hours: 3

Prerequisites: COS 121

Only offered even springs


A study of the fundamental concepts of digital image acquisition, manipulation, enhancement, representation, analysis, and understanding.


COS 355 - Mobile Application Development

Credit Hours: 3

Prerequisites: COS 265

Only offered on select semesters


A study of the concepts, principles, tools, and constraints related to developing mobile applications, including: power-performance tradeoffs, sensor management, location acquisition, and responsive user interface design. Students will develop mobile applications within large software ecosystems (mobile operating system APIs and web services) and as a result gain significant experience using current software development tools, asynchronous programming techniques, and object oriented design patterns.


COS 360 - Independent Study

Credit Hours: 1-4

Prerequisites: none


An individualized, directed study involving a specified topic.


COS 370 - Selected Topics

Credit Hours: 1-4

Prerequisites: none


A course offered on a subject of interest but not listed as a regular course offering.


COS 380 - Natural Language Processing

Credit Hours: 3

Prerequisites: COS 280

Only offered odd springs


A study of the automation of human communication abilities, covering both textual and vocal aspects. Major topics include language parsing, understanding, representation, enhancement, generation, translation, and speaker/author recognition.


COS 381 - Computer Architecture

Credit Hours: 3

Prerequisites: COS 280

Only offered odd falls


A study of the hardware structure of computer systems, including arithmetic/logic units, memory organization, control unit design, pipelining, and instruction set design. A brief introduction to advanced topics, such as out-of-order execution, branch prediction, multi-core systems, and parallel processing cache coherency will prepare the student for graduate level courses in architecture.


COS 382 - Language Structures

Credit Hours: 3

Prerequisites: COS 265

Only offered odd springs


A study of the features and implementation issues of programming languages, including a survey of language paradigms. Grammars, syntax, semantics, translation, lexical analysis, and parsing are introduced.


COS 393 - Practicum

Credit Hours: 1-4

Prerequisites: none

Only offered summers, typically


Supervised learning involving a first-hand field experience or a project. Generally, one hour of credit is awarded for a minimum of 40 hours of practicum experience. Grade only. Practicum course credit requires a minimum of 320 hours of work experience.


COS 394 - Advanced Project

Credit Hours: 1-4

Prerequisites: Instructor Permission


Students complete an open-ended software development project or laboratory experiment project. The individual project depends on students and faculty interest. Specific learning outcomes vary depending on faculty, student, and project selected. Independent or small group projects are possible.


COS 411 - Digital Forensics

Credit Hours: 3

Prerequisites: COS 121

Only offered even falls


A study of the concepts, tools, methodologies, and analysis techniques used for host, media, and network forensic investigations. Students will learn how to capture, decipher, reconstruct, and analyze digital data


COS 421 - Operating Systems

Credit Hours: 3

Prerequisites: COS 265 and COS 284


A study of the design considerations of computer operating systems and their interaction with hardware features. Topics covered include process management, storage management, protection and security, file systems, and concurrency.


COS 424 - Surfaces and Modeling

Credit Hours: 3

Prerequisites: COS 350

Only offered odd springs


An advanced graphics course with emphasis on curve and surface representation and geometric modeling. Mathematics and algorithms are studied. Topics include Bezier and B-spline curves and surfaces and geometric modeling techniques.


COS 425 - Web Animation

Credit Hours: 3

Prerequisites: COS 350

Only offered fall semester


An advanced graphics course with emphasis on techniques for rendering and animation. Mathematics and algorithms are studied. Topics include light and illumination models, ray tracing, methods to enhance realism, and standard animation techniques. A professional software package will be used to create a significant animation.


COS 432 - Software Reverse Engineering and Analysis

Credit Hours: 3

Prerequisites: COS 284

Only offered odd falls


A study of defensive programming techniques, platform security, secure software engineering, software reverse engineering, and vulnerability analysis. Students will perform static and dynamic software analysis, identify and analyze malicious software, and apply tools and techniques for identifying software vulnerabilities.


COS 433 - Missions Computing Senior Project

Credit Hours: 3

Prerequisites: Senior standing and instructor permission

Only offered j-terms


Combining computer science and service to the missions community, students travel to an international location during Interterm to undertake software development and systems analysis for a missions partner. Students design, construct, test, document, and deploy a non-trivial software system that meets the partner's requirements. Students experience the local culture and participate in direct ministry as opportunities arise. Students share their experience on campus in a formal paper, presentation, and poster. Satisfies the senior project requirement. Meets foundational core cross-cultural requirement


COS 435 - Theory of Computation

Credit Hours: 3

Prerequisites: COS 265

Only offered even falls


A theoretical treatment of what can be computed and how efficiently computation can be done. Topics include models of computation and automata, deterministic and non-deterministic computations, and formal language theory.


COS 436 - Parallel and Distributed Computation

Credit Hours: 3

Prerequisites: COS 265

Only offered even falls


A study of concepts and models of distributed and parallel computing, including concurrency, synchronization, algorithms, hardware organization, and common programming environments. Implementation of parallel algorithms on multicore CPUs and many-core GPUs.


COS 450 - Directed Research

Credit Hours: 1-4

Prerequisites: Instructor Permission


Investigative learning involving closely directed research and the use of such facilities as the library or laboratory. Independent or small group projects.


COS 452 - Research I

Credit Hours: 3

Prerequisites: COS 310 or instructor permission

Only offered springs


Participation in a research project under faculty direction.


COS 453 - Research II

Credit Hours: 3

Prerequisites: COS 452 or instructor permission

Only offered springs


Participation in a research project under faculty direction. A formal presentation of results is required.


COS 480 - Seminar

Credit Hours: 1-4

Prerequisites: none


A limited-enrollment course designed especially for upper-class majors with emphasis on directed readings and discussion.


COS 490 - Honors

Credit Hours: 1-2

Prerequisites: 3.0+ GPA in Major


Individualized study or research of an advanced topic within a student's major.


COS 491 - Senior Engineering Project I

Credit Hours: 2

Prerequisites: Must be a CEN Major

Only offered falls


The first of a three course culminating experience preparing students for engineering practice through a major design and implementation project.


COS 492 - Senior Project

Credit Hours: 3

Prerequisites: 105 credit hours completed

Only offered j-terms


Designed to exercise each senior's technical analysis, design, and development skills and showcase his/her documentation and presentation skills. The student develops a project through multiple phases of the software lifecycle frequently beginning at the design stage. The project is typically chosen to reflect the student's area of concentration.


COS 493 - Computer Science Senior Capstone

Credit Hours: 1

Prerequisites: 105 credit hours completed

Only offered falls


A survey of topics useful for graduates of the department, but not covered by other courses. The emphasis is on non-technical issues such as making a budget, finding a church, balancing career and family, etc. The course is conducted as a trip off-campus to further strengthen relationships with the department.


COS 494 - Senior Engineering Project II

Credit Hours: 1

Prerequisites: COS 491

Only offered j-terms


The second in a three course culminating experience preparing students for engineering practice through a major design and implementation project.


COS 495 - Senior Engineering Project III

Credit Hours: 1

Prerequisites: COS 494

Only offered springs


The third of a three course culminating experience preparing students for engineering practice through a major design and implementation project. It includes the Engineering poster session for assessment of the project