Silva Document {}
 
  • BU Home | 
  • News | 
  • Events | 
  •  | 
  •  

College of Arts & Sciences Catalog

Computer Science

[(u'Courses', u'#courses'), (u'Programs', u'#programs'), (u'Academic Homepage', u'http://cas.bethel.edu/dept/math-cs')]

The computer science major is a four-year program designed to acquaint the student with this rapidly expanding, contemporary subject. The computer science program has been carefully constructed to build upon the broad liberal arts and biblical studies courses that are part of every student’s program at Bethel. In today’s complex world, communication skills and historical perspectives are of critical importance to computer professionals.

Student access to computing hardware is a major emphasis in the program. Hands-on experiences are provided throughout the program, beginning with the first course in the sequence. Students are also encouraged to gain practical work experience while they are enrolled in the program. The department supervises internships at local companies, subject to faculty availability. There is also opportunity for employment in the Information Technology Services Computing Center.

Courses

COS100 • Introduction to Programming (fall, interim) 3 credits

An introduction to algorithms and programming in a current programming language including a survey of computer hardware, operating systems, and networks.

COS105 • Computer Science 1 (spring) 4 credits

Introduction to fundamental computer programming design principles. Strong emphasis on theory. Extensive programming assignments in a current computer language. Not designed as a computer literacy course. Includes 6 lab hrs. Prerequisites: COS100 or equivalent proficiency; MAT122M or equivalent proficiency.

COS205 • Scientific Computing (spring) 3 credits

Introduction to programming in C and C++ with an emphasis on issues relevant to scientific computing such as machine error, performance, and implementation of common numerical algorithms. Includes an introduction to and experience with high-performance computing in parallel environments. Prerequisite: MAT124M.

COS212 • Computer Science 2 (fall) 4 credits

Elementary data structures such as file structures, linked lists, and simple trees. Introduction to fundamental search and sort algorithms, analysis, design methodologies, and object-oriented programming. Extensive programming assignments in a current computer language. Includes 6 lab hrs. Prerequisite: COS105.

COS214 • Computer Systems (spring) 4 credits

Assembly and machine language to study computer organization and structure, addressing techniques, digital representation of instructions, program segmentation, and linkage. Includes 6 lab hrs. Prerequisite: COS212.

COS216 • Data Structures and Objects (spring) 3 credits

Abstract data types, objects, classes, and methods as a software paradigm. Advanced data structures and algorithms are also studied. Extensive programming assignments in a current object-oriented computer language. Prerequisites: COS212; MAT241.

COS301 • Operating Systems and Computer Architecture (fall) 4 credits

Computer organization, structure of operating systems, memory management, process management, resource allocation, and operating system monitors. Alternative approaches to operating system design. Prerequisites: COS214; knowledge of C or C++.

COS313 • Database Systems (fall, even # yrs) 3 credits

Relational and object-oriented databases, schemas, and normalization. Database management systems, SQL, and query optimization. Application program interaction with database management systems. Prerequisites: COS216; COS318 (may be taken concurrently).

COS318 • Web Programming (fall) 3 credits

An examination of the foundational technologies used for creating dynamic web content. Includes scripting languages (JavaScript and PHP), XML, and related replacements for HTML. Exploration of CGI protocol explored using programming languages such as Perl and PHP. Other topics include validation, creating secure web applications, XSLT, and an overview of more advanced technologies. Prerequisite: COS216.

COS344 • Numerical Methods (fall) 3 credits

Numerical methods for solving systems of linear equations, finding roots and fixed points, approximating data and functions, numerical integration, and finding solutions to differential equations. Prerequisites: COS105; MAT211 or MAT222. (Carries cross-credit in mathematics.)

COS371 • Organization of Programming Languages (spring, even # yrs) 3 credits

Formal programming language specification using various grammars and the Backus-Naur Form. Data types and structures, control structures, and data flow of several programming languages, including interpreters and compilers. Introduction to parsing and lexical analysis. Prerequisite: COS301.

COS376 • Operations Research (fall, odd # yrs) 3 credits

Mathematical techniques used in systems analysis, including linear programming, simulation techniques, and other topics such as transportation models, integer programming, and network analysis. Prerequisites: COS105; MAT211. (Carries cross-credit in mathematics.)

COS377 • Software Engineering (spring, even # yrs) 3 credits

Formal approach to the design and development of software. Design methodologies including object-oriented design and components. Communication, linking, and sharing of programs and data. Milestones and estimating, chief programmer teams, walk-throughs, documentation, organization management, and development of a software project by students working in teams. Prerequisite: COS301.

COS386 • Data Communications and Computer Networks (spring, odd # yrs) 3 credits

Data communications including interprocess communication, computer networking, and associated software protocols. Topics include network topologies, point-to-point network protocols, local area networks, and interconnection of networks. Prerequisite: COS301.

COS389 • Artificial Intelligence (spring, odd # yrs) 3 credits

Basic concepts and techniques of artificial intelligence, including representation, notational structures, searches, control structures, and the LISP or Prolog programming languages. Samples of current work in several application areas including natural language systems, expert systems, and neural networks. Prerequisite: COS301.

COS490 • Topics in Computer Science (interim, even # yrs) 3 credits

A seminar to provide an in-depth survey of a recent trend or field in the rapidly changing discipline of computer science. Students work on a significant project as well as explore the future implications of the current topic. Prerequisite: COS301.

Programs

In this section, semester credit hours will be shown after the course number and description.

Major in Computer Science (B.S.)

COS100 Introduction to Programming 3
COS105 Computer Science 1 4
COS212 Computer Science 2 4
COS214 Computer Systems 4
COS216 Data Structures and Objects 3
COS301 Operating Systems and Computer Architecture 4
COS313 Database Systems 3
COS318 Web Programming 3
COS371 Organization of Programming Languages 3
COS377 Software Engineering 3
COS386 Data Communications and Computer Networks 3
COS389 Artificial Intelligence 3
COS490 Topics in Computer Science 3
Choose from:   3
   COS344 Numerical Methods  
   COS376 Operations Research  
   PHY350 Computer Methods in Physics and Engineering  
GES334K* Perspectives on Computing and Society 3
MAT124M* Calculus 1 4
MAT125 Calculus 2 4
MAT211 Linear Algebra 3
MAT241 Discrete Mathematics 3
MAT330 Probability and Statistics 3
  Total
66
General Education   51-52
Electives   4-5**
  TOTAL  122

* A student may also choose to use this course to meet a General Education requirement.

** Because of possible double counting between General Education and the major, the total of 122 credits can include up to 10-11 credits of electives.

Major in Computer Science (B.A.)

COS100 Introduction to Programming 3
COS105 Computer Science 1 4
COS212 Computer Science 2 4
COS214 Computer Systems 4
COS216 Data Structures and Objects 3
COS301 Operating Systems and Computer Architecture 4
COS318 Web Programming 3
GES334K* Perspectives on Computing and Society 3
MAT124M* Calculus 1 4
MAT241 Discrete Mathematics 3
Choose from:   3
   COS313 Database Systems  
   COS377 Software Engineering  
   COS386 Data Communications and Computer Networks  
Electives from 300-level or above computer science courses 9
  Total
47
General Education   51-52
Electives   23-24
  TOTAL
122

* A student may also choose to use this course to meet a General Education requirement.

Minor in Computer Science 

COS100 Introduction to Programming 3
COS105 Computer Science 1 4
COS212 Computer Science 2 4
COS214 Computer Systems 4
COS216 Data Structures and Objects 3
Elective from 200-level or above computer science courses 3
  TOTAL
21

Minor in Management Information Systems 

COS100 Introduction to Programming 3
COS105 Computer Science 1 4
COS212 Computer Science 2 4
COS216 Data Structures and Objects 3
COS318 Web Programming 3
Choose from:   3
   COS313 Database Systems  
   COS377 Software Engineering  
  TOTAL 20