Computer Science Courses

Course Descriptions

Course Name Semester Offered
COS 120 Introduction to Computational Problem Solving Fall Spring
COS 121 Foundations of Computer Science Fall Spring
COS 143 Interactive Webpage Design Fall ? Spring
COS 230 Missions Technology Fall
COS 243 Multi-tier Web Application Development-SP Fall
COS 265 Data Structures and Algorithms Fall
COS 280 Introductions to Artificial Intelligence-SP Spring
COS 284 Introduction to Computer Systems Spring
COS 310 Current Literature Survey Fall
COS 311 Ethics in Computer Science-WR Fall *
COS 314 Human Computer Interaction Spring 2012
COS 320 Algorithm Design Spring 2012
COS 321 Ethics and Technology*- WR

(designed as Honors course, can be taken by anyone, counts as COS 311)

Spring
COS 331 Data Communications Spring 2013
COS 340 Software Engineering Fall
COS 341 Database Concepts Spring 2012 ##
COS 342 Information Security Offered as a possible in January
COS 343 Advanced Database  Concepts Spring 2013
COS 350 Computer Graphics Fall
COS 351 Computer Vision Spring 2012
COS 371 Software Studio 1 Fall
COS 372 Software Studio 2 Spring
COS 380 Natural Language Processing Spring  2013
COS 381 Computer Architecture Fall 2013
COS 382 Language Structures Spring 2013
COS 393 Practicum Summer
COS 421 Operating Systems Spring 2013
COS 424 Surfaces and Modeling Spring 2013
COS 425 Animation Spring 2012
COS 435 Theory of Computation Fall 2012
COS 436 Distributed Processing Unknown
COS 452 Research 1 Fall
COS 453 Research 2 Spring
COS 471 Software Studio 3 Fall
COS 472 Software Studio 4 – WR/SP Spring
COS 491 Senior Engineering Project 1 Fall
COS 492 Senior Project – WR/SP J-TERM
COS 493 CS Senior Capstone Fall
COS 494 Senior Engineering Project 2 J-TERM
COS 495 Senior Engineering Project 3 – WR/SP Spring
MAT 215 Discrete Math for CS Fall

Course Descriptions


COS 104 : Computing and Culture - Applications and Context 2 hours

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 programing. Two hours of lecture and one hour of lab. Meets general education requirement

COS 105: Ethics, Computing, and Society 1 hour


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 main 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. This course is available only to transfer students who have credit in an acceptable computer competency course and will meet the general education requirement for each students. Current Taylor students may not use this course to meet the general education requirement.

COS 106: Computing and Culture - Applications and Context 2 hours (Honors)


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 programing. Two hours of lecture and one hour of lab. Meets general education requirement. This course is intended for students in the Honors guild

COS 120: Introduction to Computational Problem Solving 4 hours


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. Three hours of lecture and two hours of lab per week. Does not count as a general education requirement

COS 121: Foundations of Computer Science 4 hours


This course builds on COS 120 by emphasizing object-oriented programming and including concepts of computer science such as computational complexity. Data structures such as lists, stacks, queues, and trees are introduced as they are needed in developing algorithms for problems studied. Additional topics include source code versioning, unit testing, and code refactoring. Three hours of lecture and two hours of lab per week. Prerequisite: COS 120

COS 143: Interactive Webpage Design 3 hours


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 withe existing server functionality to receive XML or JSON data for page updates. Modern web technology including HTML5, CS3, DOM manipulation, etc. will be explored.

COS 170: Selected Topics 1-4 hours


A course offered on a subject of interest but not listed as a regular course offering. May count toward the departmental major and general education requirements

COS 230: Missions technology 3 hours


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

COS 243: Multi-tier Web Application Development 3 hours


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, stored procedures, and triggers. Prerequisites: COS 121, COS 143

COS 265: Data Structures and Algorithms 3 hours


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

COS 270: Selected Topics 1-4 hours


A course offered on a subject of interest but not listed as a regular course offering. May count toward the departmental major and general education requirements

COS 280: Introduction to Artificial Intelligence 3 hours


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. Prerequisite: COS 121

COS 284: Introduction to Computer Systems 3 hours


This course provides an integrated introduction to computer hardware architecture, operating systems, and their interaction. Assembly language and operating system programing are emphasized. Prerequisite: COS 121, MAT 215

COS 310: Current Literature Survey 1 hours


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 discussion on papers and topics of interest. Prerequisite: one 300-level COS course

COS 311: Ethics in Computer Science 2 hours


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 331: Data Communications 3 hours


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. Prerequisite: COS 121

COS 340: Software Engineering 3 hours


A study of the concepts, procedures, and tools of large system software project development, including project estimation and management, software technical metrics, configuration management, and software testing. Concepts of software engineering are introduced using the development of a large software system as an instructional illustration. The project is designed and its development managed using the methods and techniques examined in the course. Prerequisite: COS 121

COS 342: Information Security 3 hours


An overview of the issues involved in making information secure, including policies, protection models, authentication, auditing, intrusion detection, and access control. The design and implementation of secure software is emphasized. Prerequisite: COS 121

COS 343: Advanced Database Concepts 3 hours


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. Prerequisites: COS 243, MAT 215

COS 350: Computer Graphics 3 hours


An introductory course in computer graphics with an emphasis on 3D image production using a variety of approaches including OpenGL programming. Basic algorithms, data structures, and GUI programming are introduced. Prerequisite: COS 121

COS 351: Computer Vision 3 hours


A study of the fundamental concepts of digital image acquisition, manipulation, enhancement, representation, analysis and understanding. Prerequisite: COS121. Offered spring semester of even years.

COS 360: Independent Study 1-4 hours


An individualized, directed study involving a specified topic.

COS 370: Selected Topics 1-4 hours


A course offered on a subject of interest but not listed as a regular course offering. May count toward the departmental major and general education requirements. Prerequisites: Two courses in computer science

COS 371: Software Studio I 4 hours


The first course in a sequence of four courses that provide extended project development experience utilizing the studio model. Students learn the craft of software development by working in various capacities on real long-term projects. The expected work load for this course includes one hour per week in a seminar format, two hours per week in reading and writing papers, and nine documented hours per week of work on the assigned project. The seminar portion of the course is organized so that students enrolled in Software Studio I and III will meet as a group to consider topics that rotate on a two-year cycle so that students are exposed to all topics over the two year span of this set of courses. Department approval is required based on student ability and the availability of appropriate projects. Corequisites: SYS390

COS 372: Software Studio II 4 hours


The first course in a sequence of four courses that provide extended project development experience utilizing the studio model. Students learn the craft of software development by working in various capacities on real long-term projects. The expected work load for this course includes one hour per week in a seminar format, two hours per week in reading and writing papers, and nine documented hours per week of work on the assigned project. The seminar portion of the course is organized so that students enrolled in Software Studio II and IV will meet as a group to consider topics that rotate on a two-year cycle so that students are exposed to all topics over the two year span of this set of courses. Prerequisite: COS 371

COS 380: Natural Language Processing 3 hours


A study of the automation of human communication abilities, covering both textual and vocal aspects. Major topics include language understanding, representation, enhancement, generation, translation, and speaker/author recognition. Prerequisite: COS 280. Offered spring semester of odd years

COS 381: Computer Architecture 3 hours


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 will prepare the student for graduate level courses in architecture. Prerequisites: COS 284, MAT 215

COS 382: Language Structures 3 hours


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

COS 393: Practicum 4 hours


Supervised learning involving a first-hand field experience or a project. Practicum course credit requires 320 hours of work experience. Grade only. Offered primarily during summer

COS 421: Operating Systems 3 hours


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, and distributed systems. Prerequisites: COS 265, COS 284

COS 424: Surfaces and Modeling 3 hours


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. Prerequisite: COS 350

COS 425: Animation 3 hours


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. Prerequisite: COS 350

COS 435: Theory of Computation 3 hours


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. Prerequisite: COS 265

COS 436: Distributed Processing 3 hours


A study of concepts and model of distributed and parallel computing, including concurrency, synchronization, theoretical design, algorithms, implications of hardware organization, clusters, grid computing, and common programing environments. prerequisite: COS 265

COS 450: Directed Research 1-4 hours


Independent or small group projects. May be taken by any COS major with instructor approval.

COS 452: Research I 3 hours


Participation in a research project under faculty direction. May be repeated. Permission of the instructor required

COS 453: Research II 3 hours


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

COS 471: Software Studio III 4 hours


The third course in a sequence of four courses that provide extended project development experience utilizing the studio model. Students learn the craft of software development by working in various capacities on real long-term projects. The expected work load for this course includes one hour per week in a seminar format, two hours per week in reading and writing papers, and nine documented hours per week of work on the assigned project. The seminar portion of the course is organized so that students enrolled in Software Studio I and III will meet as a group to consider topics that rotate on a two-year cycle so that students are exposed to all topics over the two year span of this set of courses. This course may not count as an elective for any of the COS majors. Prerequisites: COS 372

COS 472: Software Studio IV 4 hours


The fourth course in a sequence of four courses that provide extended project development experience utilizing the studio model. Students learn the craft of software development by working in various capacities on real long-term projects. The expected work load for this course includes one hour per week in a seminar format, two hours per week in reading and writing papers, and nine documented hours per week of work on the assigned project. The seminar portion of the course is organized so that students enrolled in Software Studio II and IV will meet as a group to consider topics that rotate on a two-year cycle so that students are exposed to all topics over the two year span of this set of courses. This course may not count as an elective for any of the COS majors. This course includes significant written and oral project summary and serves as the senior project course for BA and BS/Systems COS majors in the Software Studio track. Prerequisites: COS 471

COS 480: Seminar 1-4 hours


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

COS 490: Honors 1-2 hours


Individualized study or research of an advanced topic within a student’s major. Open to students with at least a 3.00 GPA in the major field

COS 491: Senior Engineering Project I 2 hours


The course is the first of a three course culminating experience preparing students for engineering practice through a major design and implementation project. Prerequisite: senior status, CEN major. Offered fall semester

COS 492: Senior Project 3 hours


Designed to exercise each senior’s technical analysis design and development of skills and showcase his/her documentation and presentations kills. The student develops a project through multiple phases of the software life cycle frequently beginning at the design stage. The project is typically chosen to reflect the student’s area of concentration. Prerequisite: Completion of 105 credit hours.

COS 493: Computer Science Capstone 3 hours


This course has two primary objectives: an oral examination and an off-campus study trip. The examination is prefaced by course reviews led by the students. The trip is used to strengthen interpersonal relationship skills and to examine topics critical to leading a balanced life. Prerequisite: completion of 105 credit hours

COS 494:Senior Engineering Project II 3 hours


The course is 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 3 hours


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