Drew University

Computer Science

About the Program

Computing, though rooted in the natural sciences and mathematics, draws on many aspects of the social sciences (e.g, social network analysis, human-computer interaction, etc.), and increasingly on arts (e.g., in interaction design) and humanities (e.g. media studies). Drew’s computer science program is designed to stimulate critical thinking, problem solving, and creativity together with effective communication skills that prepare students for academic and professional achievement.

Computer science students at Drew learn by doing. In many courses, students and instructors explore core computing topics through working on projects for real customers. To date, these projects have resulted in many completed software applications installed and in use at our partner sites. Other opportunities for real-world learning include a variety of internships and collaborative research projects with our faculty and other students.

As a computer science program that exists in the context of a larger department, college, and university, our mission is to provide contemporary educational opportunities for those within our community who will benefit from knowledge of computing and the social and ethical environments in which we practice this discipline.

Major

Due to University Updates, Course Numbers for all Departments have Changed. Please reference the Courses Tab for new Course Numbers.

Requirements for the Computer Science Major (52 Credits)

I. Required Courses (52 credits)

  • CSCI 1/Introduction to Computers and Computing(4)
  • CSCI 2/Object- Oriented Programming (4)
  • MATH 3/Introduction to Statistics (4)
  • CSCI 10/ Human Interaction with Technology and Information (4)
  • CSCI 23/Discrete Mathematics for Computer Science (4)
  • CSCI 25/Data Structures (4)
  • CSCI 100/Systems Programming and Tools (4)
  • CSCI 101/Algorithm Analysis and Computability (4)
  • CSCI 124/Operating Systems (4)
  • CSCI 130/Information Management (4)
  • CSCI 140/Software Engineering (4)
  • CSCI 150/Net-centric Computing (4)
  • CSCI 160/Applications of Computing to Other Disciplines (4)

Minor

Due to University Updates, Course Numbers for all Departments have Changed. Please reference the Courses Tab for new Course Numbers.

Requirements for the Computer Science Minor (24 Credits)

I. Required Courses (20 credits)

  • CSCI 1/Introduction to Computers and Computing (4)
  • CSCI 2/Object-Oriented Programming (4)
  • CSCI 10/ Human Interaction with Technology and Information (4)
  • CSCI 23/Discrete Mathematics for Computer Science OR CSCI 25/Data Structures (4)
  • CSCI 100/Systems Programming and Tools (4)

II. One additional upper level course in Computer Science (4 credits)

Faculty

Faculty

  • Professors: Barry Burd, Steve Kass
  • Associate Professors: Shannon Bradshaw (Coordinator of computer science program)
  • Assistant Professor: Peter Likarish

Courses

Courses Offered

Show All Descriptions -- Hide All Descriptions

CSCI 115 - Formerly 1 - Introduction to Computers and Computing (4)
An introduction to problem solving with computers. Tools for problem solving include the Alice 3D Authoring System, Adobe Flash and ActionScript, and a graphical application building environment, such as Visual Basic for Applications.
Meets: Three 50-minute class meetings and one 75-minute laboratory weekly. Recommended: The department strongly recommends this course for all students planning to study Computer Science. CSCI 1 is also the recommended course for students who seek a general education course in the field and do not expect to take additional courses.
CSCI 117 - Formerly 1A - Introduction to Computers and Computing (Scripting Focus) (4)
An introduction to problem solving with computers. Tools for problem solving include at least one scripting language, Microsoft Excel and a graphical application building environment such as visual basics for applications.
CSCI 115 - Formerly 1 - A is an appropriate course for students who seek a general education course computer science. Meets: 150 minutes weekly. Recommended: The department strongly recommends CSCI 1 or CSCI 1A for all students planning to study Computer Science.
Fulfills: Q
CSCI 151 - Formerly 2 - Object Oriented Programming (4)
Designing, writing, and testing structured computer programs. Decomposing problems; writing function definitions; conditional and iterative control constructs; using class libraries. Problem-solving through programming with classes and vectors; algorithm correctness; recursion. Java will be the language of instruction. Meets: three times weekly for 65 minutes plus once a week for a 75 minute laboratory.
Prerequisite: C- or better in CSCI 115 - Formerly 1 - or CSCI 115 - Formerly 1 - A. Offered every semester. Same as: MAT 868 - Formerly 868 -
Fulfills: Q
CSCI 190 - Formerly 8 - Introductory Topics in Information Technology (4)
Topics to be determined by current events in computing and opportunities presented by visiting faculty, etc.
Course may be repeated.
CSCI 210 - Formerly 10 - Human Interaction with Technology and Information (4)
A study of how people perceive technology and the ways in which they consume and create information. An introduction to the practice of designing technology with careful consideration for its users. No programming experience is required prior to taking this course. Meets: weekly for at least 150 minutes.
Offered fall and spring semesters.
CSCI 220 - Formerly 23 - Discrete Mathematics for Computer Science (4)
Mathematics central to the study of computer science. Topics include: set theory, logic, induction, combinatorics, number theory, graph theory, sequences and series, matrices, and recurrence relations.
Meets: weekly for three 65-minute periods Prerequisite: C- or better in CSCI 115 - Formerly 1 - . Offered fall semester
CSCI 230 - Formerly 25 - Data Structures (4)
Introduction to the study of abstract data types and the analysis of algorithms. Students will write Java applications using data structures such as linked lists, stacks, queues, multidimensional arrays, trees, sets, maps, and heaps.
Meets: weekly for three 65-minute periods, with an additional weekly 75-minute laboratory. Prerequisite: Prerequisite: C- or better in CSCI 151 - Formerly 2 - . Offered spring semester.
CSCI 270 - Formerly 70 - Computing Technology, Society and Culture (4)
This course will survey the principal computing technologies that are in use today or on the horizon, then investigate individual topics in more technical and cultural depth. Topics will vary in light of new developments, and could include blogging, RFID, intelligent systems, GPS, data mining, Google, and eBay. Other aspects of computing technology, society, and culture to be addressed will include legal and political issues such as regulation, jurisdiction, internationalization, and standardization, and broader questions such as how and why new computing technologies are developed and accepted.
Course may be repeated. Enrollment priority: Given to juniors and seniors. Prerequisite: Sophomore standing. Offered fall semester.
CSCI 320 - Formerly 100 - Systems Programming and Tools (4)
Development of software in the C programming language. User-functionality of the UNIX operating system. Architecture of the UNIX operating system from a programmer's perspective. Machine-level representation of data; assembly-level machine organization. Tools for large-scale software engineering including integrated development environments and code versioning systems.
Prerequisite: C- or better in CSCI 151 - Formerly 2 -
CSCI 370 - Formerly 101 - Algorithm Analysis and Computability (4)
Methods for the analysis of time and space efficiency, comparison of brute-force algorithms with divide-and-conquer algorithms, tree algorithms, graph algorithms, string algorithms, dynamic programming, and greedy methods. An introduction to NP-completeness and intractability. Turing machines, Church's thesis, determinism and non-determinism, unsolvability and reducibility. Search and constraint satisfaction.
Meets: weekly for three 65-minute periods Prerequisite: C- or better in CSCI 230 - Formerly 25 - and C- or better in CSCI 220 - Formerly 23 - Offered spring semester.
CSCI 325 - Formerly 124 - Operating Systems (4)
The fundamentals of operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling, and protection; memory organization and management; file systems; machine-level representation of data; assembly-level machine organization; functional organization of computers.
Meets: 150 minutes weekly Prerequisite: C- or better in CSCI 320 - Formerly 100 - . Offered fall semester in even-numbered years.
CSCI 330 - Formerly 130 - Information Management (4)
Theory and practice of information storage, management and retrieval, emphasizing relational database management systems. Case studies of small-scale (personal computing) and large-scale (corporate records on distributed systems) applications. Data modeling, database design and management, query processing, data integrity, and security. Legal and social contexts of data management; the responsibility of professionals to understand requirements, risks, and liabilities.
Prerequisite: C- or better in CSCI 151 - Formerly 2 - and CSCI 210 - Formerly 10 - .
CSCI 340 - Formerly 140 - Software Engineering (4)
Software design; using APIs; software tools and environments; software processes; software requirements and specifications; software validation; software evolution; software project management; methods and tools of working in teams; social context of computing; professional and ethical responsibilities; risks and liabilities of computer-based systems.
Prerequisite: C- or better in MATH 117 - Formerly 3 - , CSCI 210 - Formerly 10 - , and CSCI 210 - Formerly 10 - 0.
CSCI 350 - Formerly 150 - Net-centric Computing (4)
Communication and networking; the social context of computing; intellectual property; network security; the web as an example of client-server computing; building web applications; network management; compression and decompression; wireless and mobile computing; virtual machines; knowledge representation and reasoning. Meets: weekly for at least 150 minutes.
Prerequisite: CSCI 220 - Formerly 23 - and C- or better in MATH 117 - Formerly 3 - , CSCI 210 - Formerly 10 - , and CSCI 210 - Formerly 10 - 0.
CSCI 400 - Formerly 160 - Applications of Computing to Other Disciplines (4)
Much of computer science is practiced through application of computing to other disciplines. In this capstone course, the instructor and students will develop a software solution to a problem arising in another field. Application areas include, but are not limited to finance, economics, biology, and law. We will explore strategies for learning in and contributing to inter-disciplinary teams, customer-client communication; software design, requirements, specification, and project management. Meets weekly for at least 150 minutes.
[CAP] Capstone Prerequisite: CSCI 220 - Formerly 23 - , CSCI 230 - Formerly 25 - , and C- or better in MATH 117 - Formerly 3 - , CSCI 210 - Formerly 10 - , and CSCI 210 - Formerly 10 - 0.
CSCI 390 - Formerly 198 - Topics in Computer Science (4)
Topics to be determined by current events in computing and opportunities presented by visiting faculty, etc. Course may be repeated for credit as topic varies. Meets: weekly for at least 150 minutes.
Course may be repeated. Meets: Meets: weekly for at least 150 minutes. Prerequisite: Dependent on topic. Offered spring semester in odd-numbered years.
CSCI 300 - Formerly 199 - Independent Study in Computer Science (1-4)
An independent investigation of a topic selected in conference with the instructor and approved by the department. Admission by petition to or invitation from the department.
May be repeated for credit with the approval of the department. Prerequisite: Signature of the department. Offered every semester.

AP Exams

Advanced Placement (AP) Examinations

A score of 4 or 5 on the statistics examination exempts a student from MATH 3. A score of 4 or 5 on the computer science A or AB examinations exempts a student from CSCI 6 and 9. Consult with the department about proper placement. A score of 4 or 5 on the calculus AB examination, or a score of 3 on the calculus BC examination, exempts a student from MATH 7. A score of 4 or 5 on the calculus BC examination exempts a student from MATH 7 and 8. Consult with the department about appropriate placement.