Course Descriptions

101 Introduction to Computers
Basic concepts underlying computers with emphasis on algorithms, logic, and information representation. Hands-on experience programming and using spreadsheets. (May not be taken if credit has been received for Computer Science 120 or a computer science version of INQ 241.) (1 credit)
Lecture: 3 hrs/wk.

120 Fundamentals of Computer Science I
Problem solving and algorithm design; basic programming concepts including subprograms and objects. Programming in a modern object-oriented language and an introduction to the UNIX operating system are an integral part of the course. (1 credit)
Lecture: 3hrs/wk.; Laboratory: 3 hrs/wk.
Prerequisites: No formal prerequisite; however, a strong aptitude for math usually predicts success in the course.

170 Fundamentals of Computer Science II
Programming design and implementation including inheritance, polymorphism, abstraction, recursion, searching, and sorting. (1 credit)
Lecture: 3 hrs/wk.; Laboratory: 3 hrs/wk.
Prerequisite: Computer Science 120.

250 Data Structures and Algorithms
The design, implementation, and analysis of data structures and the algorithms associated with them. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 170.

290 Computer Architecture and Operating Systems
Machine language and assembly language concepts, data paths, parallel system architecture; system calls, process synchronization and scheduling, input and output subsystems, memory management, file systems. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 250.

310 Topics in Applied Computing
A course offered in various formats, designed to give students instruction and hands-on experience in an area of applied computing. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 170.

340 Database Systems
Database organization and management; hierarchical, network and relational models of data and some corresponding systems. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 170 and Mathematics 131.
(Offered in 2011-2012 and alternate years.) 

342 Numerical Analysis
Numerical integration and numerical solution of differential equations, numerical methods in linear algebra, matrix inversion, estimation of characteristic roots, error propagation and stability. (1 credit)
Lecture: 3 hrs/wk.
Prerequisites: Mathematics 201, 122, Computer Science 120.
(Offered on a rotating basis, not every year.)
(Cross-listed as Mathematics 342).

350 Human computer Interaction
Analysis of human cognition and ergonomics applied to the design of usable, effective and enjoyable computer systems. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 170.
(Offered on a rotating basis, not every year.)

360 Networks
An experiential study of the fundamentals of networking, networked applications, network security, and the use of software tools in troubleshooting networks. (1 credit)
Lecture: 3 hrs/wk.; Laboratory: 3 hrs/wk.
Prerequisite: Computer Science 250.
(Offered on a rotating basis, not every year.) 

365 Software Engineering and Project Design
Introduction to the principles of software engineering, software process models, requirements engineering, designing methodology and metrics, and testing and quality assurance.  Students will apply these principles to the design and implementation of a large software project. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 250.
(Offered in 2012-2013 and alternate years.)

390 Theory of Computation
Study of formal models of computation. Topics include regular, context-free, context-sensitive, and unrestricted grammars; Church's thesis; computability and undecidability. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 170 and Mathematics 131.
(Offered in 2011-2012 and alternate years.)

395 Analysis of Algorithms
Introduction to the analysis of algorithms.  Students will revisit various algorithm design techniques, learn methods to analyze the computational complexity of the resulting algorithms, and study complexity classes to differentiate between tractable and intractable problems.  (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 250 and Mathematics 131.
(Offered in 2012-2013 and alternate years.)

405,406,407 Independent Study and Research
Selected topics in computer science carried out under the direction of a member of the computer science staff. (Enrollment with the approval of the Chair of the Department.) (1/2 credit, 1 credit, 1/2 credit)

415 Web Programming
Technologies for developing dynamic web sites with emphasis on server-side programming. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 250.
(Offered in 2012-2013 and alternate years.)

416 Internship
Field placement providing practical experience and training in areas in which computer science is applied. These areas may include industry, government agencies, educational institutions, insurance companies and a variety of private enterprises. (1 credit)
Prerequisite: Permission of the department.

420 Simulation
Techniques of digital computer simulation including modeling, data analysis, model validation and simulation languages. (1 credit)
Lecture: 3 hrs/wk.
Prerequisites: Statistics 202 and Computer Science 250 and Mathematics 131.
(Offered on a rotating basis, not every year.)

425 Principles of Programming Languages
Fundamentals in the design and implementation of programming languages. Topics include BNF, compilation and interpretation, data types, control structures, runtime systems, data abstraction, exception handling and concurrency. Language paradigms include functional, logic, and object-oriented approaches. (1 credit)
Lecture: 3 hrs/wk.
Prerequisite: Computer Science 270.
(Offered in 2011-2012 and alternate years.)

435,436,437 Senior Research
An independent research project, under the direction of a computer science faculty member, that results in a scholarly paper and oral presentation. (Enrollment with the approval of the Chair of the Department.) (1/2 credit, 1 credit, 1/2 credit)

445,446,447 Senior Project
An independent software development project, under the direction of a computer science faculty member, that results in a deliverable product and oral presentation. (Enrollment with the approval of the Chair of the Department.) (1/2 credit, 1 credit, 1/2 credit)

495, 496, 497 Honors Project
A program of independent study culminating in a paper, artistic creation, or performance.
Prerequisite: To qualify for consideration to receive honors in the major, a student in his/her senior year or in the summer prior to the senior year, must work under the guidance of his/her committee. A written proposal and application must be approved by the committee and department. A minimum GPA of 3.4 in the major is required. 495 Honors Project is prerequisite for 497 Honors Project. (1/2 credit, 1 credit, 1/2 credit)

 
Professor's Approach Helps Students from Kindergarten to College

Professor's Approach Helps Students from Kindergarten to College

For the last 10 years, Grant has conducted workshops in teaching science in the schools, mainly at the elementary level.

See all related stories