The Computer Science Major

at Grove City College

February, 2004

What is Computer Science?

Computer Science is a discipline concerned with all things related to computers. This includes software, networks, multimedia, computer games, entertainment, hardware, user interfaces, graphics, embedded systems, search engines; the list goes on.

Since the discipline is so broad—there are so many uses of computers—computer scientists consider the following areas the core of the discipline (the idea is that once you know the core, you can develop a computer system in any application):

·  Software and Programming Languages: this area is concerned with how to program a computer, how to build and maintain big programs, and how to develop languages that make it easy to do these things.

·  Hardware: this area is concerned with how to build computing hardware, including networks and various devices. Many schools, including Grove City College, consider hardware design as part of computer engineering because of the need for a strong electrical engineering background in this area.

·  Theory of Computation: this area is concerned with determining the kinds of questions for which we can compute a solution. Not all questions can be answered by a computer program (or, at least, that’s what we believe to be true!).

·  Algorithms: this area is concerned with finding the best way to solve a computing problem. Generally speaking, algorithms are the “bag of tricks” that computer scientists use to write efficient programs.

·  Applications: this broad area covers things like Artificial Intelligence and User Interfaces, which are disciplines in and of themselves (building on and further developing software, theory and algorithms), to areas like computer games and graphics.

The Computer Science major gives students a solid foundation in the core areas, along with the opportunity to take courses in many exciting application areas.

Computer Science Faculty

The Computer Science faculty are in the Mathematics and Computer Science Department. The faculty are happy to discuss the program with you, so please call, email, or visit!

The faculty are:

·  Professor Birmingham, 220 HAL, phone: 3794, email:

·  Professor Jenny, HAL 224, phone: 2071, email:

·  Professor Yeager, HAL 224, phone: 2044, email:

New Courses

The following new courses are being added to the course catalog for the CS Major.

Math 213. Discrete Mathematics for Computer Science.

A study of the foundations of mathematics with an emphasis on concepts related to theoretical mathematical methods and computer science. Topics include mathematical logic, set theory, algorithms, complexity of algorithms, integers, a variety of proof techniques, program correctness, combinatorics, recurrence relations, graphs and digraphs, trees, Boolean functions, languages and grammars, and finite state machines. Prerequisite: Math 161. Fall semester, four hours.

Comp 213. Foundations of Computer Science

This course is an introduction to computation theory including the topics: finite automata, regular languages, pushdown automata, context-free languages, Turing machines, recursive languages and functions, and computational complexity. Prerequisite: Comp 141, Math 213. Spring semester only, three hours.

Comp 305. Ethics in the Computing Profession

This course is an overview of ethical systems and copyright and intellectual property laws, an examination of IEEE and ACM ethical codes, ethical problem-solving techniques and an examination of ethical cases. Fall semester only, one hour.

Comp 322. Object Oriented and Advanced Programming

Topics include: programming techniques in Standard C++ for large-scale, complex, or high-performance software; encapsulation; automatic memory management; exceptions; generic programming with templates and function objects; standard library algorithms and containers; using single and multiple inheritance and polymorphism for code reuse and extensibility; basic design idioms, patterns, and notation. Prerequisite: Comp 222.

Fall semester only, three hours.

Comp 422. Introduction to Algorithms

Topics include: fundamental techniques for designing efficient algorithms and basic mathematical methods for analyzing their performance; paradigms for algorithm design; divide-and-conquer, greedy methods, graph search techniques, dynamic programming; design of efficient data structures and analysis of the running time and space requirements of algorithms in the worst and average cases. Prerequisite: Comp213 and Comp 222. Spring semester only, three hours.

Comp 441. Computer Game Design and Development

This course covers concepts and methods for the design and development of computer games. Topics include: graphics and animation, sprites, software design, game design, user interfaces, game development environments. Prerequisite: Comp 213.

Alternate years, three hours.


Comp 442. Web Programming Technologies

This course prepares students with the fundamentals needed to program on the Internet. It offers a survey of programming concepts that yield visible or audible results in Web pages and Web-based applications. The course covers effective Web-page design,various markup languages (XHTML, Dynamic HTML and XML), several scripting languages (JavaScript, VBScript, Perl, Python, PHP, ColdFusion, and FlashActionScript), Web servers (IIS and Apache), and relational databases (MySQL) to provide all the skills and tools needed to create dynamic Web-based applications. Prerequisite: Comp 244.

Alternate years, three hours.

Comp 443. Object-Oriented Programming Languages (OOPL) and Event-Driven Programming

In this course detailed case studies of object-oriented programming languages such as Java, C++, Smalltalk, and C#, and of event-driven programming environments built around those languages are investigated. Examples are the Java Swing library, MFC library, Visual Studio Net, and the original Smalltalk environment. Study of component-based programming using Java beans and/or COM-based models is also included. Prerequisite: Comp 222. Alternate years, three hours.

Comp 444: Introduction to Information Retrieval

The technological underpinnings of search engines is explored in this class. Topics covered include organizing and accessing information, metrics of performance (relevance and precision), query methods, multimedia retrieval, and digital libraries. Prerequisite: Comp 222. Alternate years, three hours.

Comp 445: Introduction to Artificial Intelligence

Artificial intelligence topics included in this class are: predicate calculus, state space search, knowledge representation, expert systems, reasoning in uncertain situations, and machine learning, the latter to include neural networks and genetic algorithms. Prerequisite: Comp 222. Alternate years, three hou

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

3

Grove City College Status Sheet

Status Sheets are provided as a convenience for the student and may be helpful for recording completed courses. However, the College Bulletin is the controlling authority on all requirements. Questions should be directed to your academic advisor or the Registrar.
/ B.S. in
Computer Science
Entering in 2003

Name: ID#: Date:

Year of Anticipated Graduation: Advisor:

3

TOTAL HOURS REQUIRED FOR THIS DEGREE 128 HOURS

GENERAL EDUCATION REQUIREMENTS 65 HOURS

HUMANITIES CORE 18-21 HOURS

Cr. Sem. Taken Grade

HUMA 101 Civilization 3

HUMA 102 Biblical Revelation OR 3

RELI 211 OT Lit & History AND 3

RELI 212 NT Lit & History 3

HUMA 201 Speculative Mind 3

HUMA 202 Literature 3

HUMA 301 Arts 3

HUMA 302 Internat’l Perspective 3

SOCIAL SCIENCES / INTERNATIONAL STUDIES 6 HOURS

Choose one course from each of the following two groupings; these courses must be from different departments.

GROUP 1 International Courses:

BUSA 305; ECON 303; GOBL 300;

HIST 141, 143, 144, 212, 261, 262, 271, 272;

POLS 104, 201, 301, 303, 323, 333, 342;

SOCI 103, 241

3

GROUP 2 General Social Science Courses:

ECON 101, 102, 206; POLS 101, 204;

PSYC 101, 208; SOCI 101, 308, 371

3

QUANTITATIVE / LOGICAL REASONING 0 HOURS

Satisfied by major/related requirements.

NATURAL SCIENCE REQUIREMENT 0 HOURS

Satisfied by major/related requirements.

PHYSICAL EDUCATION 2 HOURS

PHYE 101 (men) / 111 (women) 1

PHYE 102 (men) / 112 (women) 1

FOREIGN LANGUAGE 0-12 HOURS

(0 hours required if criteria met for exemption; must complete 201-202 level if not met.)

GENERAL ELECTIVES If language needed: 27 HOURS

If language not needed: 39 HOURS

Minimum CQPA and MQPA required for graduation 2.00

MQPA Courses: COMP (excluding COMP 102 and 204); MATH 213

MAJOR REQUIREMENTS 63 HOURS

COMPUTER SCIENCE CORE 31 HOURS

NOTE: COMP 141 is not required; however, proficiency in the material contained in it is a prerequisite for COMP 152 and 220.

Cr. Sem. Taken Grade

COMP 152 Computer Arch & Organization 3

COMP 213 Foun. of Computer Science 3

COMP 220 Computer Programming II 3

COMP 222 Data Structures 3

COMP 244 Database Management 3

COMP 305 Ethics in Computing Profession 1

COMP 322 Object Oriented/Adv Prog. 3

COMP 342 Data Comm and Networks 3

COMP 422 Introduction to Algorithms 3

COMP 440 Operating Systems 3

COMP 450 Software Engineering 3

UPPER LEVEL COMPUTER SCIENCE ELECTIVES 9 hours

Select from COMP 400 level courses; MATH 325, MATH 326 and certain COMP 390 offerings.

______ 3

______ 3

______ 3

MAJOR RELATED REQUIREMENTS 23 HOURS

NOTE: MATH 161 is not required; however, proficiency in the material contained in it is a prerequisite for MATH 162.

MATH 162 Calculus II 4

MATH 213 Discrete Mathematics for CS 4

MATH 222 Linear Algebra 4

MATH 331 Theory of Statistics I 3

PHYS 101 General Physics I 4

PHYS 102 General Physics II 4

GENERAL ELECTIVES, cont.

3

SUGGESTED FOUR-YEAR PLAN for the COMPUTER SCIENCE MAJOR (CSCI)

for students not needing COMP 141 and MATH 161

(Students who need COMP 141 and MATH 161 take courses listed in parentheses instead)

Fall Semester Spring Semester

Freshman Year

MATH 162 Calculus II (MATH 161) 4 COMP 152 Arch & Organization 3

COMP 220 Program II (COMP 141) 3 COMP 222 Data Structures (MATH 162)……….. 3 (4)

HUMA 101 Civilization 3 HUMA 102 Civ/ Biblical Revelation 3

PHYE 101/111 Fitness & Wellness 1 PHYE 102/112 Fitness & Wellness 1

Language or Elective 3 Language or Elective 3

Social Science or Int’l Science 3 Social Science or Int’l Science 3

17 16 (17)

Sophomore Year

COMP 244 Database Mgt Syst 3 COMP 213 Foun of Computer Science 3

MATH 213 Discrete Math for CS 4 Elective (COMP 222) 3

PHYS 101 General Physics I 4 MATH 222 Linear Algebra 4

HUMA 201 Spec Mind (COMP 220) 3 PHYS 102 General Physics II 4

Language or Elective 3 Language or Elective 3

17 17

If a second year of language is required, it should be taken in the sophomore year.

Junior Year

COMP 305 Ethics in the Computing Prof 1 COMP 422 Intro to Algorithms 3

COMP 322 Object Oriented/Adv Prog……………. 3 COMP 440 Operating Systems …………………….3

COMP 342 Data Comm & Networking 3 HUMA 202, 301, or 302 3

MATH 331 Statistics I 3 Electives 6

HUMA 202 ,301, or 302 3 16

Elective 3

16

Senior Year

Computer Electives 6 COMP 450* Software Engineering 3

HUMA 202, 301, or 302 3 Computer Elective 3

Electives 6 Electives (HUMA 201) 9

15 15

*COMP 450 may be taken either fall or spring of the senior year.

12/17/03

3