Computer Sciences (CS)

CS 0--. CS LOWER DIVISION. (1-10 Credits)
Lower Level Coursework in Computer Sciences
Level: Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Transfer
Schedule type(s): Lecture, Web Instructed
Area(s) of Inquiry: None
CS 1--. CS UPPER DIVISION. (1-10 Credits)
Upper Level Coursework in Computer Sciences
Level: Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Transfer
Schedule type(s): Lecture, Web Instructed
Area(s) of Inquiry: None
CS 010. PREVIEW OF COMPUTER SCIENCE. (3 Credits)
Level: Non-Drake, Graduate, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Lecture, Web Instructed
Area(s) of Inquiry: Critical Thinking, Information Literacy
CS 065. INTRODUCTION TO COMPUTER SCIENCE I. (3 Credits)
Algorithms, programming, program structures and computing systems. Debugging and verification of programs, data presentation. Computer solution of problems using a high- level language. Prereq.: Four years of high school mathematics or MATH 20..
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: Critical Thinking, Information Literacy
CS 066. INTRODUCTION TO COMPUTER SCIENCE II. (3 Credits)
Continuance of CS 65 using a block-structured language and emphasizing data abstraction. More general data structures and alternative implementations of them are used in programs, Sorting, searching and tree traversal algorithms are used and analyzed. Provides preparation for further study in computer science. Prereq: CS 65 or equivalent
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 067. OBJECT-ORIENTED PROGRAMMING. (3 Credits)
This course introduces students to object-oriented programming (OOP). Students will learn OOP concepts such as classes, objects, encapsulation, messaging, data hiding, inheritance, and polymorphism. Generic programming and OOP design patterns will also be taught. Students will encounter advanced programming projects where unit testing and exception handling will be stressed. Other topics include serialization and GUI construction. Prereq.: CS 066.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 066
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture
Area(s) of Inquiry: None
CS 073. COMPUTER LANGUAGE TOPICS. (1-3 Credits)
Introduction to specific programming and special purpose computer languages for students who are already familiar with a high-level programming language. Prereq.: CS 65 or equivalent. Some topics may have additional prerequisites.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 083. DIGITAL ETHICS. (3 Credits)
This course increases understanding of issues related to ethics, professional conduct and social responsibility as they arise in Computer Science and applications of Information Technology. Additionally, the course serves to develop 1) the ability to think clearly; 2) habits of professional responsibility and behavior; and 3) effective writing and presentation skills. Students are exposed to the history of the discipline from a social point of view, and to various frameworks from which ethical and professional decisions must be made within the discipline. Sophomore, junior, or senior standing required.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions:

Enrollment limited to students with a classification of Junior, Sophomore or Senior.

Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: Values and Ethics
CS 099. INDEPENDENT STUDY. (1-3 Credits)
Directed individual study in areas related to the student's needs or interests. Prereq.: Consent of department.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study
Area(s) of Inquiry: None
CS 114. SYMBOLIC LOGIC. (3 Credits)
Study of the concepts and techniques of modern formal logic, including axiomatic developments of the sentential calculus and an examination of the first-order predicate calculus in a system of natural deduction. Crosslisted with PHIL 114.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: Quantitative
CS 116. BIOINFORMATICS. (3 Credits)
An introduction to the principles, practice and application of bioinformatics. The focus of the course will be the analysis of biological systems through the use of computational methods. Topics include: sequence alignment, algorithm analysis, genome assembly, and databases. Cross- listed with BIO 116.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): (CS 065 or BIO 165)
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 120. HUMAN-COMPUTER INTERACTION. (3 Credits)
This course provides an introduction to and overview of the field of human-computer interaction (HCI). HCI is an interdisciplinary field that integrates theories and methodologies from computer science, psychology, design, and many other areas. This course covers a rich set of HCI methods and tools, both from a theoretical and practical point of view, in use by today’s HCI professionals for designing and improving technologies.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065
Corequisite(s): None
Restrictions:

Students with a classification of Freshman may not enroll.

Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture
Area(s) of Inquiry: None
CS 128. ROBOT PROGRAM AND CONTROL THEORY. (3 Credits)
The course introduces students to various aspects of robotics, with particular emphasis on programming and PID control theory. It stresses real-time and multi-task programming, with appropriate and effective reactions to external conditions. Students work in small groups to design, build, and program small-scale robots.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 066 and MATH 050
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 130. COMPUTER ORGANIZATION AND ASSEMBLY. (3 Credits)
Computer organization and architecture; internal representation of programs and data; assembly language programming; addressing techniques, macros, assemblers, linking; input/output concepts. Prereq.: CS 66 or equivalent.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 066
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 135. PROGRAMMING LANGUAGES. (3 Credits)
Syntax and semantics of high-level computer languages. Examination of the major decisions in the design and implementation of all algorithmic languages. Examination of the run-time structures required to support modern programming languages and paradigms. Prereq.: CS 067.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 067
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 137. ALGORITHM ANALYSIS. (3 Credits)
This course focuses on analyzing the correctness and efficiency of algorithms using methods that are mathematically rigorous. Various approaches to the development of algorithms will be examined such as divide-and-conquer, dynamic programming, greedy techniques, and backtracking. Complexity classes such as P and NP will also be introduced. Prereq.: CS 67, MATH 050, and (MATH 054 or MATH 101).
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 067 and MATH 050 and (MATH 054 or MATH 101)
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 139. THEORY OF COMPUTATION. (3 Credits)
Theoretical foundations of computing. Introduction to formal grammars, languages and automata theory. Mathematical analysis of the fundamental power and limitations of computing devices. Applications to pattern matching, problem specification, programming languages and compilers. Prereq.: CS 065 and either MATH 054 or MATH/CS 150.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065 and CS 050 and (MATH 054 or MATH 101)
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 140. COOPERATIVE EDUCATION. (1-3 Credits)
Students who are in a work environment related to the major field of study may receive credit for applications of classroom knowledge to their job. The student meets regularly with the adviser to determine appropriate assignments. May be repeated up to a maximum of eight hours of credit.(Graded on a credit/no credit basis.) Prereq: At least junior standing or consent of instructor.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions:

Students with a classification of Freshman or Sophomore may not enroll.

Primary grade mode: Credit/No Credit
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 143. ARTIFICIAL INTELLIGENCE. (3 Credits)
Introduction to the theory, tools and methods of artificial intelligence. Topics include knowledge representation, predicate calculus, basic data structures, and problem solving strategies. A symbol manipulation language is used. Computer science aspects of artificial intelligence are emphasized. Applications from areas such as natural language understanding, vision or expert systems are examined. Prereq.: CS 66
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 066
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 145. METHODS FOR TEACHING K-12 COMPUTER SCIENCE. (3 Credits)
Building upon prior computer science coursework and teaching experiences, the aim of this course is to prepare teachers to teach middle and high school computer science courses. Course content will emphasize standards-based instruction in alignment with the Computer Science Teachers Association K-12 Standards both in terms of content taught and the development of practices. The structure of the course is based on class activities and discussions with significant preparation required outside of class. Teachers will be assigned reading, writing, and project-based tasks focused on eliciting student thinking, implementation of research-based instructional practices, selection and adaptation of curricular materials, and assessment for learning strategies.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065
Corequisite(s): None
Restrictions:

Enrollment limited to students in the Arts & Sciences or Education colleges.

Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture
Area(s) of Inquiry: None
CS 146. OBJECT-ORIENTED SOFTWARE/UML. (3 Credits)
In recent year various early strategies for developing object-oriented software have coalesced, resulting in highly developed methodologies such as the popular ""Unifed Process"" of Jacobson, Booch and Rumbaugh. An important aspect of this methodology is an intricate set of diagramming techniques collectively referred to as the ""Unifed Modeling Language (UML)"". Since its introduction in the mid-1990's, UML has rapidly become the de facto standard for expressing the intricate static and dynamic details of today's complex software products. The course focuses on learning to develop highly organized and maintainable programs, and on using UML and ""Design Patterns"" as a means for expressing their features and for guiding their design.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 147. COMPUTER GRAPHICS. (3 Credits)
Introduction to computer graphics terminology and hardware. Elementary graphics mathematics and algorithims. Prereq.: CS 066.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 067
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 150. GRAPH THEORY. (3 Credits)
An introduction to the structural theory of graphs and networks with applications to computer science. Topics may include basic graph families and parameters, algorithms, matchings, connectivity, flows and networks, traversability, planarity, and colorings.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065 and MATH 101
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 160. OPERATING SYSTEMS. (3 Credits)
Introduction to the design, development and implementation of operating systems. Problems of resource allocation, concurrency file systems design, networking and the interface between hardware and software. Prereq.: CS 130.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 130
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 161. COMPILER CONSTRUCTION. (3 Credits)
Program language structures, translation, loading and execution, compilation of expressions and statements, organization of a compiler. Prereq.: CS 135.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 135 and CS 130 (may be taken concurrently)
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 165. INTRODUCTION TO NUMERICAL ANALYSIS. (3 Credits)
Error analysis, iterative methods for solving nonlinear equations, direct and iterative methods for solving linear systems, approximation of functions, derivatives, integrals. Prereq.: CS 65 MATH 80 and 100. Crosslisted with MATH 165.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065 and MATH 080 and MATH 100
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 167. MACHINE LEARNING. (3 Credits)
This course introduces approaches to developing computer programs that learn from data. Both foundational and contemporary machine learning algorithms will be covered in the context of a variety of data and problem types. Specific topics will vary but may include artificial neural networks, decision trees, instance-based learning, Bayesian learning, support vector machines, hidden Markov models, reinforcement learning, and natural language processing. Students will develop their own implementations of the algorithms as well as utilize modern machine learning software and programming libraries. Pre-requisite: CS 065 and (CS 066 or STAT 040).
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 065 and (CS 066 or STAT 040)
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 172. DIGITAL COMPUTER ORGANIZATION. (3 Credits)
Basic digital circuits, Boolean algebra, combinational logic, data representation and transfer, digital arithmetic. Computer design, hardware structure and function. Prereq.: CS 130.
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 130
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 178. CLOUD AND DATABASE SYSTEMS. (3 Credits)
Data sets have become so large and complex that a new set of software tools must be developed in order to facilitate questions that can lead to impactful insights. This course will provide an in-depth study of tools and techniques used to process 'big data' stored on multiple computers. Topics include virtualization, python programming, the Hadoop ecosystem, MapReduce programming, Amazon Web Services, database querying including SQL and NoSQL programming.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 066
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 188. SOFTWARE ENGINEERING. (3 Credits)
Developing sofrware is fundamentally different from writing programs. While programming expertise is a critical skill, the ability to produce software that is useful, usable and accepted by a broad audience requires much more to be successful. This course will expose you to some intracacies of developing Software. We will survey the field of software engineering, convering the life cycle of software, various developmental strategies, requirement analysis, design tools, and testing methodologies. These concepts will be explored in theory as well as in practice: you will gain experience in conceiving, specifying, designing, developing and implementing a reasonably sized software solution.
Level: Graduate, Law, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 067
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 190. CASE STUDIES IN DATA ANALYTICS. (3 Credits)
In this course, students will apply descriptive, predictive, and prescriptive data analysis methods learned in previous courses to new cases. Students will learn to effectively manage long-term data analysis projects within diverse teams through a complete data analytics project lifecycle and compellingly communicate outcomes through writing and oral presentations which include appropriate use of data visualizations. Credits: 3. Pre-requisites: (1) CS 066, (2) STAT/MATH 130 or ACTS/MATH 131, and (3) two of STAT 170, STAT 172, CS 167, CS 178.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 167 and STAT 172
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 191. COMPUTER SCIENCE CAPSTONE. (3 Credits)
The purpose of a capstone is for students, in small groups, to undertake an independent project that applies and synthesizes what they have learned in their major. This course typically is taken in one of the student's final two semesters at Drake, but is only offered one semester per year. The project generally involves developing a significant software package, with a written paper documenting this effort, and a public poster presentation at the end of the semester. Several milestones and target dates may be set for this project at the start of the course, and these might involve in-class demonstrations. However, at a student's request, the instructor may in some cases modify the project parameters, as for example, replacing software development with an in-depth research project into theoretical computer science.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): CS 188
Corequisite(s): None
Restrictions:

Enrollment limited to students with a classification of Junior or Senior.

Enrollment is limited to students with an major in Computer Science.

Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 195. SELECTED TOPICS. (0-3 Credits)
Seminars in selected topics .
Level: Graduate, Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Lab, Lecture, Web Instructed
Area(s) of Inquiry: None
CS 199. INDEPENDENT STUDY. (0-3 Credits)
Directed individual study in areas related to the student's needs or interests. Prereq.: Consent of department.
Level: Non Degree Coursework, Professional Health Care, Undergraduate
Prerequisite(s): None
Corequisite(s): None
Restrictions: None
Primary grade mode: Standard Letter
Schedule type(s): Independent Study, Web Instructed
Area(s) of Inquiry: None