Taylor CSE Courses





COS 102 - Fundamentals of Systems and Computing

Credit Hours: 3
Prerequisites: None

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 104 - Computing and Culture – Applications and Context

Teacher: Dr. Darci Nurkkala
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.

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

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
Style: Three hours of lecture and two hours of lab per week

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.



COS 121 - Foundations of Computer Science

Teacher: Dr. Stefan Brandle
Credit Hours: 4
Prerequisites: COS 120 or COS 130 or SYS 120.
Style: Three hours of lecture and two hours of lab per week

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

Teacher: Dr. Josh Hibshman
Credit Hours: 3
Prerequisites: None
Style: 1.5 hours of lecture Tuesday and Thursday

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

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

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

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

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

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

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

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

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

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

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

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

Credit Hours: 3
Prerequisites: instructor permission and COS 121 or COS 143

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

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

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

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 spring semester of even years

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

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 objectoriented 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 spring semester of odd years

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 284

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

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 during 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

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

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 - Animation

Credit Hours: 3
Prerequisites: COS 350

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

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

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

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

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 Approval

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

Participation in a research project under faculty direction.



COS 453 - Research II

Credit Hours: 3
Prerequisites: COS 452 or instructor permission

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 fall semester

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

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

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: 3
Prerequisites: COS 491
Only offered J-Term

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 spring semester

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