Computer science is a dynamically growing discipline. In recognition of this fact, the Department of Computer Science is committed to providing students with a program that includes the basic fundamentals of the field and allows students the flexibility to pursue in depth many of the diverse areas into which computer science is expanding. This is accomplished by providing both instruction in the theoretical principles and experience with a diverse collection of modern hardware and software technologies. The faculty and students of the department cooperatively carry out research in the areas of web technologies, algorithm animation, bioinformatics, networking, educational technology, volunteer computer games, combinatorial algorithms, and mobile computing.
The department offers major programs that emphasize problem solving and communication skills and allow students the flexibility to design programs suitable for their interests and goals. Each student's major program, designed by the student and a departmental advisor, includes a core of computer science courses, a strong component of courses in some field to which computer science can be applied and a senior project seminar involving research or software development under the supervision of a member of the Hope College faculty. By following an appropriate major program, students may prepare themselves for graduate study in computer science or computer science careers involving applications programming, systems programming, systems and network analysis, computer graphics, Web technology, teaching, or software engineering.
A full listing of all courses offered by the department is available here.
Hope students can earn a Bachelor of Arts or Bachelor of Science degree with a major in computer science, or complete a minor in Computer Science. The requirements for each of these courses of study are shown below:
- Bachelor of Arts
- Bachelor of Science
- Minor in Computer Science
A.B. in Computer Science - 34 credits
| Course | Credits | Semester | Prerequisites |
|---|---|---|---|
| 112 - Exploring Computer Science | 2 | Fall | None |
| 225 - Software Design and Implementation | 4 | Both | None |
| 235 - Data Structures and Software Design | 4 | Spring | CSCI 225 |
| 245 - Programming Language Paradigms | 2 | Fall | CSCI 225 |
| 255 - Intro to Algorithms & Discrete Structures | 4 | Fall | CSCI 235 |
| 265 - Computer Organization | 4 | Spring | CSCI 225 |
| 481 - Senior Project Seminar | 2 | Fall | CSCI 235; Senior standing |
Choose at least 2 courses, with at least 1 course from 2 of the 3 groups
| Course | Credits | Semester | Prerequisites | Group |
|---|---|---|---|---|
| 321 - Applications Programming | Four | Fall even years | CSCI 112 and 235 | Applications |
| 342 - Computer Graphics | Four | Fall even years | CSCI 112 or 114 and 235 | |
| 392 - Database Systems | Four | Fall odd years | CSCI 112 and 235 | |
| 361 - Programming Language Design & Implementation | Four | Spring even years | CSCI 112, 235, and 245 | Foundations |
| 385 - Advanced Data Structures & Algorithms | Four | Fall odd years | CSCI 112, 255; corequisite CSCI 245 | |
| 335 - Computer Architecture | Four | Spring odd years | CSCI 112/260 | Systems |
| 354 - Operating Systems | Four | Spring even years | CSCI 112, 245; corequisite CSCI 265 | |
| 376 - Computer Networks | Four | Spring odd years | CSCI 112, 245 and 255 |
B.S. in Computer Science - 60 credits (40 Computer Science, 20 math/science)
| Course | Credits | Semester | Prerequisites |
|---|---|---|---|
| 112 - Exploring Computer Science | 2 | Fall | None |
| 225 - Software Design and Implementation | 4 | Both | None |
| 235 - Data Structures and Software Design | 4 | Spring | CSCI 225 |
| 245 - Programming Language Paradigms | 2 | Fall | CSCI 225 |
| 255 - Introductions to Algorithms & Discrete Structures | 4 | Fall | CSCI 235 |
| 265 - Introduction to Computer Organization and Architecture | 4 | Spring | CSCI 225 |
| 470 - Languages & Machines | 2 | Spring | CSCI 112 and CSCI 255 |
| 481 - Senior Project Seminar | 2 | Fall | CSCI 235; Senior standing |
Choose at least 3 courses, with at least 1 course from each of the 3 groups
| Course | Credits | Semester | Prerequisites | Group |
|---|---|---|---|---|
| 321 - Applications Programming | Four | Fall even years | CSCI 112 and 235 | Applications |
| 342 - Computer Graphics | Four | Fall even years | CSCI 112 or 114 and 235 | |
| 392 - Database Systems | Four | Fall odd years | CSCI 112 and 235 | |
| 361 - Programming Language Design & Implementation | Four | Spring even years | CSCI 112, 235, and 245 | Foundations |
| 385 - Advanced Data Structures & Algorithms | Four | Fall odd years | CSCI 112, 255; corequisite CSCI 245 | |
| 335 - Computer Architecture | Four | Spring odd years | CSCI 112/260 | Systems |
| 354 - Operating Systems | Four | Spring even years | CSCI 112, 245; corequisite CSCI 265 | |
| 376 - Computer Networks | Four | Spring odd years | CSCI 112, 245 and 255 |
| Course | Credits | Semester | Prerequisites |
|---|---|---|---|
| MATH 131 - Calculus I | 4 | Both | None |
| MATH 132 - Calculus II | 4 | Both | MATH 131 |
| Math Elective | 4 | Both | MATH 132 |
| Other science (this may be computer science, above the 40 credit requirement) | 8 |
Computer Science Minor - 18 credits
| Course | Credits | Semester | Prerequisites |
|---|---|---|---|
| 112 - Exploring Computer Science |
2 | Fall | None |
| 225 - Software Design and Implementation | 4 | Both | None |
In addition, Hope offers an emphasis in Computer Engineering the Department of Engineering.