Randolph College » Academic Programs » Computer Science » Curriculum

# Computer Science Curriculum

The study of computer science offers students the opportunity to develop problem solving facility and helps develop skills which have broad utility in theory and application and are amongst the most sought-after by employers.

The abstraction of real world problems, the construction of algorithms to display and transform data, and the theory of computation are all central concerns of computer science.

## Degree Requirements

- Computer Science and Mathematics major (BS)
- Computer Science minor
- Data Science interdisciplinary minor

## Course Catalog

## Computer Science Minor

The minor in computer science can be effectively combined with any major. Whether studied with professional goals in mind, to supplement the study of any other field, or just for interest’s sake, computer science offers a powerful way to approach many challenging problems.

When combined with selected courses in mathematics and physics, the minor will help prepare the student for graduate work in computer science and related fields.

## Data Science Interdisciplinary Minor

Data science is an interdisciplinary field incorporating statistical techniques with algorithms to collect and to process large data sets, in order to extract meaning and make decisions.

Students will explore the collection and filtering of data, machine learning algorithms, and methods for drawing conclusions.

## Course Offerings

Below is a list of available courses offered by the Mathematics and Computer Science Department. Consult the Registrar’s Office and the College Catalog for registration information.

### CSCI 1151. Computer Programming I

An introduction to computers and computer programming. Emphasis will be placed on problem-solving with examples and exercises from social, natural, and mathematical sciences. Techniques of flowcharting and structured programming, development of algorithms, and types of computer hardware will also be discussed. Intended for students with no previous programming experience. Credit hours: 4. A student may not receive credit for this course after taking CSCI 1156 or its equivalent.### CSCI 1156. Computer Programming II

A continuation of Computer Science 151. Emphasis on top-down programming using methods. Topics include user-defined classes and advanced data types, arrays, recursion, algorithms for sorting, searching, exception handling, advanced GUIs and graphics, and embedding Java applets into HTML documents. Credit hours: 4. Prerequisite: CSCI 1151 or the equivalent.### CSCI 2225. Matlab and Labview

This course covers beginning and intermediate programing in the Matlab and Labview computer languages. Students will learn the basics of computer programming as well as the specifics of programing in Matlab and Labview including data input/output, code structuring, coding best practices and limitations, data acquisition and beginning GUI development. This course is project based with projects taken from real world computing problems. Credit hours: 4. Prerequisite: MATH 1149. Alternate years: offered Fall 2021.### CSCI 2251. Algorithms and Data Structures

Structures for the representation of data are considered: vectors, lists, queues, trees, heaps, hash tables, maps, and graphs. This course presents the logic behind choosing a particular structure, and the associated algorithms for using each structure. Fundamental algorithms for solving problems, including sorting, searching and graph algorithms are developed. General design, analysis and the study of complexity are emphasized. Credit hours: 4.Prerequisite: CSCI 1156.### CSCI 3326. Computer Architecture and Assembly Language

Introduction to internal computer architecture including the instruction cycle, parts of the CPU, memory hierarchy including caching, pipelining, exception handling, and issues of multiprocessing. Implementation of assembly language programs using sample architectures. Principles of translating high level languages. Credit hours: 4. Pre- or co-requisites: CSCI 2251 and MATH 1149 or equivalent. Alternate years: offered Spring.### CSCI 3336. Operating Systems

Design and implementation of operating systems. Mutual exclusion, concurrency, deadlock, process scheduling, memory management, and files systems. Credit hours: 4. Prerequisite CSCI 1156. Alternate years.### CSCI 3346. Software Development

This course provides an in-depth study of steps in the software-development process: user requirements, specifications, design, implementation, testing, maintenance, documentation, and management. Students will develop the facility to apply the general principles to new problems. Credit hours: 4. Prerequisite CSCI 2251. Alternate years: offered Spring.### CSCI 4492 Professional Development Seminar

– Computer Science Students will explore how the skills they have accumulated over the course of their degree may be applied both to solve problems in the real world and to extend the limits of human knowledge. They will select a research advisor and a research topic in computer science and begin directed readings. Credit hours:1. Prerequisite: CSCI 251.

### DSCI 2232. Introduction to Data Science

Data science is an interdisciplinary field incorporating statistical techniques with algorithms to collect and to process large data sets, in order to extract meaning and make decisions. Students will explore the collection and filtering of data, machine learning algorithms, and methods for drawing conclusions. Credit hours: 4. Prerequisite: ECON 2227 or EVST 2205 or MATH 2227 or MATH 3343 or POL 2231 or PSYC 2227 or SOC 3395. Identical with MATH 2232. Alternate years; offered Spring.

### DSCI 2233: Machine Learning

A broad introduction to machine learning and statistical pattern recognition. Unsupervised and supervised learning algorithms including dimensionality reduction (PCA and variants), clustering (simple clustering, agglomerative and non-agglomerative), probabilistic models, neural networks, and support vector machines. Credit hours: 4. Prerequisite: ECON 2227 or EVST 2205 or MATH 2227 or MATH 3343 or POL 2231 or PSYC 2227 or SOC 3395.

### DSCI 4495: Data Science Seminar

The seminar requires students to explore the areas of their personal interest in data science in order to inform their choice of research topics, graduate school, and employment. Students will review the major ideas in data science and will prepare for the rigorous data science-related job interview. Credit hours: 1.