Computer science
David Housman, Professor of Mathematics and Computer SciencePatricia Oakley, Department Chair, Professor of Mathematics
Introduction
The computer science department offers a major and minor in computer science and collaborates with the mathematics department on a second major. Also, the computer science, business, art and communication departments cooperate to offer a minor in multimedia communication. A degree and minor in business information systems is described in the business department pages.
- Major in computer science
- Major in computer science and applied mathematics
- Minor in computer science
- Minor in multimedia communication
The computer science program at Goshen College is an academic discipline that provides theoretical and applied perspectives on computer systems, software and hardware. Areas of study include problemsolving techniques, algorithm design and analysis, software design and development, computer hardware, mathematics, human-computer interaction and ethics.
Computer laboratories provide students free access to PC and Macintosh computers. Software available for student use includes various programming language compilers, mathematical and statistical analysis programs, computer-aided drafting software, multimedia software, database programs, spreadsheet programs and word processing programs. Students in upper-level computer science or business information systems courses have access to an advanced computing lab equipped with state-of-the-art PC computers, current software and several servers and networks.
Visit the computer science department Web site at www.goshen.edu/computerscience.
Career and postgraduate opportunities
The liberal-arts context of Goshen's computer science program produces graduates who are prepared for life-long learning in a rapidly changing discipline, who can communicate well and who have a broad understanding of other disciplines – characteristics that employers value highly. Computer science graduates are employed as programmers, analysts, teachers, business owners, project managers, Web developers and network specialists. They work in business, insurance companies, banks, accounting firms, computer consulting agencies, telecommunications firms, higher education institutions and many other settings. Graduates who choose to pursue further education are successful in earning master’s and Ph.D. degrees.
Academic requirements
Students majoring in computer science or computer science and applied mathematics must obtain a grade of C or better in each course counted for the major. Any student taking a computer science course must obtain a grade of C or better in all prerequisites for that course prior to taking the course.
Major in computer science
50 credit hours
- One of the following courses: 3
BIS 335, Systems Analysis and Design
BIS 405, Project Management and Practice - BIS 340, Database Management Systems 3
- CoSc 200, Programming Techniques 4
- CoSc 215, Data Structures & Algorithms 4
- CoSc 315, Advanced Programming 4
- CoSc 410, Senior Seminar 3
- CoSc electives, upper level (300 and above) 9
- Math 205, Discrete Mathematics 3
- Math 211, Calculus I 4
- Science elective selected from: 4
Biol 111/112, Chem 111/112, or Phys 203/204 - Related elective courses selected from: 9
BIS 305, BIS 407, Comm 326, Art/Comm 375, Phil 305, any mathematics course 212 or higher, any upper level (300 and above) science or CoSc courses
Planning guide
| First year | General education Discrete Mathematics Programming Techniques Calculus I |
| Second year | General education Data Structures & Algorithms Advanced Programming Database Management Systems Science elective SST (spring or summer) |
| Third year | General education Related and upper level electives |
| Fourth year | General education Upper-level electives BIS 335 or BIS 405 Senior Seminar |
Major in computer science and applied mathematics
60 credit hours
Computer science core (23 credit hours)
- BIS 340, Database Management Systems 3
- CoSc 200, Programming Techniques 4
- CoSc 215, Data Structures & Algorithms 4
- CoSc electives, upper level (300 and above) 9
- Math 205, Discrete Mathematics 3
Mathematics core (24 credit hours)
- Math 211, 212, 213, Calculus I, II, & III 12
- Math 301, Linear Algebra 3
- Math 341, Numerical Analysis 3
- Mathematics electives, upper level (300 and above) 6
Required related courses (13 credit hours)
- Science elective: Biol 111/112, Chem 111/112, or Phys 203/204 4
- Any upper level (300 and above) mathematics, science or CoSc courses 6
- Senior seminar: CoSc 410 or Phys 410 3
Planning guide
| First year | General education Discrete Mathematics Calculus I, II, III Programming Techniques |
| Second year | General education Data Structures & Algorithms Database Management Systems Linear Algebra General Physics (203 or 204) SST (spring or summer) |
| Third year | General education Upper-level computer electives Upper-level math elective Upper-level physics/math/computer electives |
| Fourth year | Balance of general education Numerical Analysis Balance of major Senior Seminar |
Planning and advising notes
This degree is a rigorous, yet flexible, applied science degree. It offers excellent preparation for a career in applied mathematics, programming in science, industry or engineering. It also offers a strong base for graduate study in computer science or in applied mathematics. The 18 hours of electives permits students to individualize the program. The program is close to a double major in computer science and mathematics and can be completed in four years.
Minor in computer science
18 credit hours
- CoSc 200, Programming Techniques 3
- Math 205, Discrete Mathematics 4
- Other CoSc courses, at least 8 credit hours upper level (300 and above) 11
Minor in multimedia communication
The multimedia communication minor is offered by the art, business, communication and computer science departments. For further information, see the full description in the communication department pages and website.
Computer science courses
COSC 200 Programming Techniques 4 (3-4)
An introduction to problem solving, algorithm development and structured programming techniques. Topics include pseudo-code, language syntax and semantics, applets and applications, loop and control constructs, primitive data types, objects, arrays, lists, files, graphical user interfaces, recursion, sorting and searching. Includes three lectures and one 75-minute lab each week. Computer-science majors are required to register for four credit hours. Others may register for three credit hours. In the three-hour option, students complete three-fourths of the course. No programming experience is necessary to take this course; however, either strong algebra skills or some computer programming experience is helpful.
COSC 215 Data Structures & Algorithms 4
A continuation of Programming Techniques. Emphasis is placed on program specifications, data abstraction, information hiding, encapsulation and object-oriented programming. Traversing, sorting and searching algorithms are studied along with an analysis of time-space complexity. Data structures studied include lists, stacks, queues, trees, and graphs. Includes three lectures and one 75-minute closed lab each week. Prerequisite: CoSc 200, (4 credit hours); corequisite: Math 205.
COSC 315 Advanced Programming 4
A programming course that emphasizes visual-based programming tools, and advanced programming concepts such as the use of APIs, development of GUIs, event-driven programming, multithreading, and client- and server-side programming. Actual topics included in the course may vary from semester to semester. Prerequisite: CoSc 215.
COSC 325 Data Communications 3
Computer interfacing, serial and parallel I/O techniques, modems, file transfer, data communications and common computer networking protocols. Prerequisites: CoSc 200 (three or four credit hours), and Math 205.
COSC 335 Computer Architecture 3
A study of computer organization, architecture, basic logic design and assembly level programming. Topics include logic gates, basic digital circuits, microprocessors, micro-programming, memory addressing, address buses, assembly level programming and addressing techniques. Prerequisites: CoSc 200 (three or four credit hours), and Math 205.
COSC 360 Operating Systems 3
A study of operating system concepts and structures with a major focus on process control, memory management, I/O management and concurrent processes. Prerequisite: CoSc 215.
COSC 375 Special Topics 1 (1-3)
Classroom study of advanced or special topics in computer systems. May be repeated. Offered according to demand. Prerequisite: Upper-level status and consent of instructor.
COSC 400 Advanced Projects/Topics 1 (1-3)
Individual software development projects or independent study of advanced topics in computer systems. May be repeated. Grading plan CR/NC. Offered by individual arrangement with a professor.
COSC 409 Internship 3 (1-3)
A work experience with computer systems either on or off campus. The purpose of the internship is to integrate theoretical knowledge with practical skills. Grading plan CR/NC. Offered by individual arrangement with a professor.
COSC 410 Senior Seminar 3
A study of the ethical and social implications of computer technology. Open to senior students in any discipline.

Apply to Goshen
Take a Virtual Tour
Schedule a visit
Contact Admission
GC Navigator

