News  | Calendar  | Visit  | Apply  | Give  | A-Z Index

Test MaxiMenu

Computer Science Course Descriptions

Designed  for majors in computer science and  minors in  computer science and  computer information systems. This course introduces the student to a general methodology for  computer programming. Course content includes problem solving  techniques, algorithm development, structured  and  object­oriented  programming  methodology, pseudo­code, data types, selection, iteration, and  arrays. Elementary file structures are also examined. Corequisite: MAT 141 or math  placement level 3. Four hours.

Foundations of computing  with an introduction to design  and analysis of algorithms and an introduction to design and  construction of programs for engineering  problem­solving. The MATLAB software will be used  as the programming  language of  choice for pre­engineering  students. Prerequisite: MAT 141  or  math  placement level 3. Four  hours

This course examines programming  methods of greater  sophistication. Topics include data abstraction, data structures, and  simple recursion. Program design  issues including  commonality and  variability analysis, coupling, and  cohesion  will be examined. Object oriented  (OO)  techniques such as data hiding  and  polymorphism will be emphasized. This course provides the necessary foundation  for further study in computer  science. Prerequisite: COS 130 or COS 131 or the permission of the instructor. Four hours.

This course provides an  overview of discrete structures appropriate for work in computer science. Topics covered in  this course include logic and  proofs, set theory, inductive and  recursive definitions and  arguments, fundamentals of  counting, discrete probability, relations, graphs and  trees. Emphasis is placed  on applications to algorithms and  programming  problems. Prerequisite: COS 130 or 131, or the permission of the instructor Four hours.

This course provides an in­depth study of data structures and  algorithms. Data structure topics include: stacks, lists, queues, trees, and graphs. Algorithms include: various sorts and  searches, greed, divide and  conquer, Dijkstra, etc. Programming  techniques will include multi­way recursion. Big  O notation for the analysis of techniques will be emphasized. This course requires a student laptop  –  see Department Laptop  Policy. Prerequisite: COS 210 or permission of the instructor. Four  Hours

This course is an introduction to computer organization with  an emphasis upon viewing  the computer in a hierarchical fashion, with virtual machines built on top of the features of  lower level virtual machines. There will be an emphasis upon interactions among hardware, software, firmware, and  operating systems. The basic organization of a computer; its central processing unit, memory, and input/output devices all tied together by a system bus, will be learned in theory, and  that theory will be applied in practice to understanding the more important computer  architectures of today. Students will also learn to program in C/C++, with those languages being used as a means of communicating many of the ideas in the course. This course requires a student laptop  – see Department Laptop  Policy. Prerequisite: COS 230. Four  hours.

Considers the impact of computer use on society. Discusses ethical use of software and protection of intellectual property  rights. Topics will include: technology in scripture; distinctions between technology and science, technology and  economics, technology and development; mankind’s use of  technology in relation to the cultural mandate; and man as a creator. A major topic will be the responsibility of  professionals based  an examination of the IEEE / ACM professional code of ethics. Three hours. ‘W’

Opportunities for study in various topics of interest within  the field  of computer science. These may be short­term courses offered  during  the semester or during the summer  term. Topics will be decided  by the department faculty as need and interest arise. This course requires a student laptop  –  see Department Laptop  Policy. Prerequisites: to be determined. Credit to be determined.

A study of the nature and application of database processing. The physical representation of databases, the primary  structured  models used  in  organizing  a database, commercially available database management systems, and  the factors involved  in  implementing and using a database are covered. Students will design and work with a database using  one of the database management systems on the Covenant College computing network. This course requires a student laptop  –  see Department Laptop  Policy. Prerequisite: COS 150 or the permission of the instructor. Four hours.

This course studies the nature of computer and information  security by presenting  a unifying paradigm of threats, vulnerabilities, and  countermeasures. Theoretical foundations that underlie principles of security are covered. In addition, current practical and  applied security subjects are also addressed. Topics include protection  mechanisms, authentication, access control, confidentiality, integrity, malicious logic, intrusion detection, assurance, privacy and  anonymity. Prerequisite: COS 150  or permission  of the instructor. Four hours.

This course introduces the basic principles of cryptography  and  number theory. Topics include: primes, random numbers, modular arithmetic and  discrete logarithms, symmetric encryption, public key encryption, key  management, hash functions, digital signatures, authentication protocols and protocols for secure electronic commerce. Elliptic curves and  quantum cryptography will also be introduced. Prerequisite: COS 210 or the permission  of the instructor. Four hours.

This course examines the hardware and software­based tools and techniques used for the protection of computer systems. In particular, the course will focus on host and network­  based methods and practices commonly used in the defense of cyber systems. In addition, this course examines the policies and  tools common to digital forensics in  successfully identifying and attributing malicious activity to  particular systems and users. Topics include digital evidence collection, preservation, presentation, and  preparation. Computer crime and  investigation is also discussed  throughout. Prerequisite: COS 150  or permission of the instructor. Four hours.

This course introduces sound  security principles for  incorporation into the software development process. Software security engineering includes properties of secure software, requirements analysis, design, implementation, testing, maintenance, and  management. Common exploits are studied to uncover fundamental security flaws in many  applications, to include security analysis techniques, buffer  overruns, access controls, race conditions, input validation, network  software security, testing, and software protection/anti­tamper technologies. Detailed  explanations of common programming errors that lead  to system exploitation are also covered. Prerequisite: COS 230 or the permission of the instructor. Four hours.

This course provides an introduction to operating systems, their function, development, design, and implementation. A general model of operating  systems functions and  development will be studied. A particular focus will be the issues of process management (concurrency, including  resource locking, deadlocks, scheduling and race conditions)  at both the operating  system and  application level. Other  topics include: memory management, device management, file systems, security, fault tolerance, and  performance evaluation. Prerequisite: COS 230. Four hours.

This course is an introduction to data communication  networks, in both theory in practice. Theory is discussed in  terms of layered  protocols, organized  by the OSI  model. Practice is provided  in two ways: a study of the various internet protocols, both in infrastructure such as TCP, IP, and DNS, and in applications such as HTTP, FTP, SMTP. The course also emphases network programming, principally  using  sockets, but also application level protocols. Distributed architectures such client­server, P2P, and N­tier  will be discussed. Distributed  computing  using RPC  and  remote object protocols will also be studied  and  practiced. Prerequisite: COS 326 or the permission of the instructor. Four hours.

Information systems are an integral part of all business activities and careers. This course is designed to introduce students to contemporary information systems and demonstrate how these systems are used throughout global organizations. The focus of this course will be on the key components of information systems - people, software, hardware, data, and communication technologies, and how these components can be integrated and managed to create competitive advantage. Through the knowledge of how IS provides a competitive advantage students will gain an understanding of how information is used in organizations and how IT enables improvement in quality, speed, and agility. Prerequisite: Common Business Core or permission of the instructor.

A survey of the significant features of existing  and  experimental programming  languages with particular  emphasis on grammars, syntax, semantics, notation, parsing, and  storage arrangements. Selected  examples of general purpose and  special purpose languages are studied. In  addition the course will cover discrete math for computing. Specifically, sets, functions, combinations, and  permutations. This course requires a student laptop  –  see Department Laptop  Policy. Prerequisite: COS 230. Four  hours.

An overview of  the tools, metric techniques, and  team­  oriented  methodologies necessary to support the development of large systems and application software will be given. A group  project consists of the study and  implementation of a large software system of the type expected  in industry. This type of project requires a high  degree of interaction and  communication among  team members, as well as rigorous coding techniques. This course requires a student laptop  – see Department Laptop  Policy. Prerequisite: COS 150. Four hours.

Course provides an introduction to software engineering  with a focus on development process. Development process will focus on the stages of the development lifecycle including  requirements, architecture, design, testing, verification and  validation. Design will include an  introduction to patterns. The effect of team dynamics and the need  for project management will be discussed. A special focus will be made on developing professional work habits based on the Software Engineering Institutes (SEI) Personal Software Process (PSP). This course requires a student laptop  – see Department Laptop  Policy. Prerequisite: COS 230. Four hours.

Development of the theoretical foundations of programming: algorithms, languages, automata, computability, complexity, data structures; a broad  range of fundamental topics are consolidated  and  extended in preparation for further study. The course includes an introduction to information theory: the understanding of the quantification of data, particularly  in regards to its reliability. Implications of these theories will be developed  in relation to such topics as artificial intelligence and  linguistics. This course requires a student laptop  – see Department Laptop  Policy. Prerequisite: COS 230. Four hours.

A course offered  on a subject of particular  interest but unlisted as a regular course offering. The course is open to  appropriate students by class standing, background, or  interest, depending  on the topics. All offerings are at the discretion of the department. The department uses this course to provide majors and other departments and groups with topics of current interest which are timely in the student’s development in computer science as well as other  disciplines. Possible topics include artificial intelligence, the Internet, neural networks, parallel processing, expert systems, and  computer graphics. This course requires a student laptop – see Department Laptop Policy. Prerequisites and credit hours will vary

An independent study required of all students majoring in  computer science. The student will explore and analyze a topic related to the student’s area of interest in computer  science in the light of Christian worldview. The study will result in a written thesis. Prerequisites: COS 230, Senior  standing and approval by the instructor. Two hours.



Fall 2014 Departmental Course Offerings
(click column title to sort)
Subjectsort icon Course# Course Title Days Begin End Instructor
COS 131 Computing For Engineers MWF 1500 1550 Stern, Curt
COS 130L Comp Program Methodology Lab R 1030 1145 Hunt, John
COS 411 Computer Science Internship Hunt, John
COS 492 Senior Integration Paper Hunt, John
COS 311 Computer and Inform. Security T 1430 1545 Humphries, Jeffrey
COS 311 Computer and Inform. Security MWF 1400 1450 Humphries, Jeffrey
COS 326 Operating Systems T 1300 1415 Humphries, Jeffrey
COS 326 Operating Systems MWF 1200 1250 Humphries, Jeffrey
COS 210 Discrete Struct. in Computing T 0930 1045 Humphries, Jeffrey
COS 210 Discrete Struct. in Computing MWF 0900 0950 Humphries, Jeffrey
COS 260 Ethical/Pro Issues-Computing MWF 1000 1050 Hunt, John
COS 425 Foundations of Computer Scienc R 1430 1545 Hunt, John
COS 425 Foundations of Computer Scienc MWF 1500 1550 Hunt, John
COS 130 Comp Programming Methodology MWF 0900 0950 Hunt, John
COS 131 Computing For Engineers T 1300 1415 Stern, Curt
COS 130L Comp Program Methodology Lab R 1600 1715 Hunt, John