Skip to Main Content

Course Listings

Computer Science

A major and a minor in Computer Science are available.  See also major and minor in Information Technology.

Major in Computer Science

51 credit hours

Student learning outcomes

Graduates in Computer Science will:

  1. Demonstrate proficiency in programming, software engineering, database design, networking, security, human computer interaction, operating systems, algorithm analysis, electronics, and systems analysis.
  2. Demonstrate proficiency with the mathematical principles underlying computer science concepts and techniques.
  3. Effectively communicate complex computing concepts orally, visually and in writing.
  4. Function effectively in teams to accomplish programming project goals.
  5. Design programs, implement, and evaluate said programs within systems and other software to meet the needs of organizations.
  6. Analyze the local and global impact of computing technology on individuals, organizations, and society.
  7. Demonstrate proficiency in engaging and using research from published literature and other resources to engage in a career in computing.

Planning guide

First YearGoshen Core
Computational Thinking (if needed)
Programming I
Calculus I or Discrete Math
Second & Third YearsGoshen Core
Upper level computing and related courses
SST
Fourth YearBalance of Goshen Core
Remaining computing and related courses
Internship
Senior Seminar

Minor in Computer Science

Planning and advising notes

If combining this minor with an Information Technology major or minor, there must be at least 8 unique credits in the computer science minor not double-counting with the information technology major or minor.

Course descriptions

  • COSC 216 Programming I

    This course provides fundamental programming expertise in a higher-level computational language, focusing on such constructs as user defined functions, recursion versus iteration and files usage. The student also will engage in computational thinking and techniques of general problem solving, with...

  • COSC 316 Programming II

    This course focuses on using object-oriented problem solving techniques. Topics covered include object-oriented design, classes, encapsulation, inheritance, algorithmic analysis, and data structures. In particular, the course covers programming efficiently, and applying appropriate industry recognized tecniques to programming problems. This course...

  • COSC 346 Human Computer Interaction

    This course covers principles for designing, implementing, and evaluating user interfaces. The course will introduce user-centered design, accessibility, rapid prototyping, experimentation, direct manipulation, and cognitive principles. Students will apply these principles in creating web sites and other interfaces. Prerequisite: COSC...

  • COSC 356 Computer Networking & Security

    Structure and components of computer networks, packet switching, layered architectures, and congestion management. Also covers principles of computer and network security. By the end of this course, a student will have either passed or be prepared to take an industry...

  • COSC 357 Data Privacy and Security

    This course explores the fundamentals of information security attacks and defense mechanisms. Security issues related to people, data, networks, and devices are surveyed to provide insight into designing security solutions and policies. Technologies and practices that support the security principles...

  • COSC 360 Operating Systems

    A study of operating system concepts and structures with a major focus on process control, memory management, I/O management and concurrent processes. Students will investigate the impact of different operating systems in both a LAN and a WAN environment. Prerequisite:...

  • COSC 365 Analysis of Algorithms

    Course covers the design and analysis of efficient algorithms. Topics covered include sorting, search trees, heaps, hashing, divide-and-conquer, dynamic programming, randomized algorithms, stochastic algorithms, approximation algorithms, amortized analysis, probabilistic analysis, competitive analysis. Prerequisite: COSC 316 and MATH 205.

  • COSC 366 Database Design

    The proper design of databases and their construction through diagramming tools and SQL. Attention is also given to form and report development, data warehouse and data mining issues, and administrative issues such as user security. Students gain experience in robust...

  • COSC 406 Systems Analysis

    A structured approach to solving organizational problems. The focus of the course is on determining the needs of a real organization and meeting those needs through the design of an information system. Topics such as feasibility analysis, determining requirements, documenting...

  • COSC 409 Internship

    Work experience in or student observation of the computer field. Each student’s project is individually arranged with the instructor. The course is designed to integrate and apply theoretical learning with experience. Students desiring a computer internship must be a Computer...

  • COSC 410 Senior Seminar

    Summative course for the Computer Science major. This course discusses the enormous impact that computing has had on society at large. It will also examine issues concerning a sustainable future and how that places added responsibilities on computing professionals. Course...

  • COSC 416 Project Management

    Working with the organization from COSC 406, students gain practice in managing the system life cycle; requirements determination for logical design, physical design, testing and implementation of a system for a local organization. Topics include system and database integration issues;...

  • MATH 205 Discrete Mathematics

    An introduction to mathematical thinking and reasoning. Topics include number systems and arithmetic, logic and Boolean algebra, functions and relations, set theory, algorithms, combinatorics and probability, matrices, and elementary graph theory. An emphasis is placed on problem solving and proof...

  • MATH 211 Calculus I

    Concepts of calculus emphasizing applications in the natural and social sciences. Topics include differential calculus of one and two variables and integration. Prerequisites: three and one-half units of high school mathematics including trigonometry, Math 170, or a minimum ALEKS score...

  • MATH 301 Linear Algebra

    Linear systems of equations, vector spaces, linear transformations, matrices, determinants, eigenvalues and eigenvectors, inner products, computational aspects, and applications. Prerequisite: Math 211 and either Math 205 or 212.

  • PHYS 304 Electronics

    Introduction to analog and digital electronics and robotics. The focus is on design and construction of practical circuitry which can be used to build useful devices. After the analog and digital groundwork is laid, students learn to program microcontrollers to...

Ready to get started?