Catalog Table of Contents

 
Computer Science


Full-Time Faculty: Jeffrey J. McConnell, Chair; Debra T. Burhans, R. Mark Meyer, Patricia B. Van Verth.

The Computer Science Department offers two programs that prepare students for graduate study and/or entry into the industrial portion of the field. Each program gives the student a solid foundation for a current career, as well as the ability to acquire new skills and update old ones as dictated by rapidly changing technology. Course work includes programming, information organization, distributed computing, computing theory, software engineering, and up-to-date electives. Professionalism, ethical computing and decision-making, writing, and communication skills are essential to all computer scientists and are emphasized throughout the curriculum. Computer Science is interdisciplinary by nature, and study in other fields through the Core Curriculum enhances the education of majors.

The Bachelor of Science major is designed for students with a scientific interest who intend to continue on to graduate school or enter the profession as research or systems programmers. This program of study places a greater emphasis on mathematics and physics.

The Bachelor of Arts major is designed to satisfy the needs of individuals who are interested in combining their studies with course work in another area. Students can take concentrations in any other major. Students can use the concentration and free electives to complete any of the minors from other academic departments.  Students in this major are also well qualified for graduate school or professional careers.

The Department also offers minors and courses in computing for non-majors.

Admission
Prospective Computer Science majors and minors must have a cumulative G.P.A. of at least 2.0, at least a C in CSC 110, CSC 111 and CSC 111L, as well as any other computer science courses taken to date. Students wishing to become a computer science major or minor should file a Computer Science Declaration application with the Computer Science Department (form available in WTC 207). On acceptance into the major or minor, students will be assigned an adviser in the department.

The performance of all majors and minors is subject to review relative to their continuation in the program. Academic record (at least a 2.0 overall G.P.A.), computer science course record (at least a 2.0 G.P.A. in all computer science courses and labs), and the demonstration of necessary computer skills will be the basis of the evaluation. Students not performing up to the necessary standards will be advised of the problem and corrective action will then be recommended by the department chair.


Computer Science Curriculum:

1. ENG 101, ENG 102, PHI 101, RST 101 (4 courses) (12)
2. Area Studies: Two courses from each of these areas:    
a. B.S. majors: II, III, IV, V, VI, VIII (12 courses) (36)
b. B.A. majors: I, II, III, IV, V, VI , VIII (14 courses) (42)
3. Major course requirements: (19 courses)  
a. Required of all majors:    
CSC 110 Introduction to Computing (3)
CSC 111 Introduction to Programming (4)
CSC 212 Data Structures (4)
CSC 213 Large Scale Programming (4)
CSC 253 Computer Hardware (3)
CSC 281 Automata and Algorithms (3)
CSC 310 Information Organizationand Processing (4)
CSC 330 Distributed Computing (4)
CSC 351 Comparative Programming Languages (4)
CSC 395 Software Engineering (4)
CSC 391-491 Computer Science Seminar (2)
Computer Science electives: two courses   (8)
MAT 111-112 Calculus I & II (8)
MAT 191 Introduction to Discrete Mathematics (4)
b. Required of B.S. majors:    
PHY 223-224 General Physics for Physical Science Majors (10)
PHY 226 Basic Electronics (4)
MAT 141 Inferential Statistics and Computers for Science (4)
c. Required of B.A. majors:    
Four-course concentration outside    
Computer Science (see department for approved concentrations) (12)
4. Electives: Science electives and MAT 219 are recommended for B.S. majors. All majors are encouraged to take courses to strengthen verbal and written communication skills. In particular, COM 201, PHI 300, and PHI 340 are recommended.
a. B.S. majors (2 courses) (6)
b. B.A. majors (0 courses) (0)
Total: B.S. majors (37 courses) (131)
B.A. majors (37 courses) (125)

Recommended Schedule (Bachelor of Science):

Fall   Spring  
Freshman Year      
ENG 101 3 ENG 102 3
CSC 110 3 CSC 111 4
MAT 111 4 MAT 112 4
AS 3 MAT 191 or MAT 141 4
AS 3 Total 15
Total 16    
Sophomore Year      
RST 101 3 PHI 101 3
CSC 212 4 CSC 213 4
CSC 253 3 CSC 281 3
AS 3 PHY 223 5
AS 3 Total 15
Total 16    
Junior Year      
CSC 351 or CSC 330 4 CSC 310 or CSC 395 4
PHY 224 5 CSC 391 1
AS 3 PHY 226 4
AS 3 MAT 141 or MAT 191 4
AS 3 AS 3
Total 18 Total 16
Senior Year      
CSC 330 or CSC 351 4 CSC 395 or CSC 310 4
CSC 4902 1 CSC elective 4
CSC elective 4 AS 3
AS 3 AS 3
AS 3 Elective 3
Elective 3 Total 17
Total 18 Total 131

Recommended Schedule (Bachelor of Arts):

Fall   Spring  
Freshman Year      
ENG 101 3 ENG 102 3
CSC 110 3 CSC 111 4
MAT 111 4 MAT 112 4
AS 3 MAT 191 or AS 4-3
AS 3 Total 15 or 14
Total 16    
Sophomore Year      
RST 101 3 PHI 101 3
CSC 212 4 CSC 213 4
CSC 253 3 CSC 281 3
AS 3 AS or MAT 191 3-4
AS 3 AS 3
Total 16 Total 16 or 17
Junior Year      
CSC 351 or CSC 330 4 CSC 310 or CSC 395 4
Concentration course 3 CSC 391 1
AS 3 Concentration course 3
AS 3 AS 3
AS 3 AS 3
Total 16 AS 3
    Total 17
Senior Year      
CSC 330 or CSC 351 4 CSC 395 or CSC 310 4
CSC 4902 1 CSC elective 4
CSC elective 4 Concentration course 3
Concentration course 3 AS 3
AS 3 Total 14
Total 15 Total 125

Computer Science Minor:

CSC 110 Introduction to Computing (3)
CSC 111 Introduction to Programming (4)
CSC 212 Data Structures (4)
Computer Science electives: two courses, at least one at the 300 or 400 level, chosen in consultation with a departmental adviser (7-8)
Total (5 courses) (18-19)

Computer Theory Minor:3

CSC 110 Introduction to Computing (3)
CSC 111 Introduction to Programming (4)
MAT 191 Introduction to Discrete Mathematics (4)
CSC 212 Data Structures (4)
CSC 281 Automata and Algorithms (3)
Total (5 courses) (18)  

Other Programs
A Computer Science B.S. or B.A. can be combined with a major in Mathematics or the natural sciences, giving the student a very strong background and a wide variety of options upon graduation. One such program listed below involves the Computer Science-Physics B.A. option.

Computer Science-Physics B.A. Option: Students choosing this option should select all required courses for the Physics curriculum with the following changes: Take CSC 110, CSC 111, CSC 212, CSC 213, CSC 253, CSC 281, CSC 310, CSC 330, CSC 351, and CSC 395, which replace CHM 111, CHM 112, CSC 107, PHY 332, PHY 447, PHY 449, and PHY 499. In addition, recommended senior electives include PHY 475, PHY 476, and CSC electives.

Computing Facilities: Information Technology Services operates college-wide computer systems including a number of Wintel and Macintosh laboratories. The Computer Science Department facilities include a lab with computer graphics workstations and a second lab with personal computers. There is another multiprocessor system that is a file server for the department equipment. All department equipment is on a local area network and is accessible from the Internet or from anywhere on campus. There are additional ports in the labs for students to connect their laptop computers. Beginning with the first semester of their sophomore year, Computer Science students may be granted 24-hour a day, 7 days a week access to department computing facilities.

Additional Information
Internships are available during the academic year and the summer for Computer Science majors.

COURSES: 2003 - 2005
Note: CSC 107 and CSC 497 do not count as Computer Science electives.

CSC 107 Computer Programming for Science 4
Introduction to computer and programming using C with special emphasis on scientific and mathematical applications. 2002-2003 only

CSC 110 (CSI 110) Introduction to Computing 3
Overview of computing science. Major issues in computer technology/hardware, systems software, theoretical foundations, artificial intelligence, and social implications. (AS VII)

CSC 111 (CSI 111) Introduction to Programming 4
Algorithms, programming, computers, languages, and language structure. (AS VII)

CSC 212 Data Structures 4
Basic concepts of data structures. User-defined structures and abstract data types.
Prerequisite: At least a C in CSC 111 and CSC 111L.

CSC 213 Large Scale Programming 4
Introductory concepts of software engineering applied to the design and implementation of medium-scale software systems (approx. 1000-2000 lines of code). Advanced data structures.
Prerequisite: CSC 212.

CSC 253 Computer Hardware 3
Introduction to digital logic, Boolean algebra, hardware, and computer organization. Overview of current and future architectures, such as VLSI chips used in personal computers, RISC systems, and supercomputers.
Prerequisite: CSC 111.

CSC 281 (CSI 281) Automata and Algorithms 3
Formal language theory including finite and pushdown automata, grammars, Turing Machines, and Halting Problem. Introduction to the design and analysis of algorithms, classes of problems, and methods for developing an analysis.
Prerequisite: CSC 212.

CSC 310 Information Organization and Processing 4
Data and knowledge bases, high-level organization and processing of information, expert systems, access to and ethical use of information.
Prerequisite: CSC 213.

CSC 325 Computer Graphics 4
Techniques involved in computer graphics and their use in business, science, and entertainment.

CSC 330 Distributed Computing 4
System software and distributed applications. Modern distributed operating systems, client/server and other models. Ethical issues related to security.
Prerequisite: CSC 212 and CSC 253.

CSC 333 Modeling and Simulation 4
Introduction to the design of simulation programs. Use programs to develop simulations as well as write simulation programs from scratch. Teaches students the elements of a system, and then how to develop, test, and validate a simulation of this system.

CSC 341 (MAT 341) Numerical Analysis 3
See MAT 341.

CSC 350 (CSI 350) Artificial Intelligence 4
Methods for archiving or simulating human level cognition and problem solving using computers. Includes study of expert systems, natural language process, neural networks, and more. Emphasis on social impact and ethics of AI.
Prerequisite: CSC 212.

CSC 351 Comparative Programming Languages 4
Systematic study of programming languages and their implementations, including applications from various fields. Formerly CSC 251.
Prerequisite: CSC 212, CSC 281.

CSC 380 Web Development 4
Web history, design for the Web, fonts and typography, profiling/cookies, programming and scripting (including CGI, Perl, Java, JavaScript), database access, client/server mechanisms, search engines, copyright and use of copyrighted materials, security issues, ethical issues.

CSC 391-490 Computer Science Seminar 1-1
Student-faculty seminar for majors. To be taken for three semesters. Topics will include professional responsibilities and ethical decision making.

CSC 395 Software Engineering 4
Professional responsibilities and the application of engineering principles to the design, production, use, and maintenance of software is studied through readings and a team project.
Prerequisite: CSC 213.

CSC 400 Special Topics in Computing 4
Current topics of interest to faculty and students. Possible topics: data communications, networks, Java, and other modern programming languages (e.g. Ada and Icon).
Prerequisite: Permission of instructor.

CSC 497 Internship 1 - 3
Special projects for local institutions/businesses – representing a significant learning component. Must be related to a specific focused task; credit is not given for just part-time work. Approved project proposal and results documentation required.
Prerequisite: Permission of chair.

CSC 498 Independent Project 3
Formulate a problem in Computer Science, design and implement a solution, and evaluate the result. Documentation and oral presentation are required.
Prerequisite: junior status in Computer Science and permission of chair.

CSC 499 Independent Study 3
Prerequisite: Permission of chair.


1 Area VII is automatically fulfilled because this program is in the Mathematics area. For B.S. majors, Area I is fulfilled by the required Physics courses.

2 May be taken in either Fall or Spring.

3 This minor requires a minimal level of mathematical sophistication resulting from a college calculus sequence.



Home | About Canisius | Search | Ask Us | Calendar | Site Map | Campus Directory | Site Requirements

©2001 Canisius College
Canisius College | 2001 Main Street | Buffalo, NY 14208-1098
Phone: 716-883-7000 | Fax: 716-888-2525
Website Powered by ActiveCampus™ Software by LiquidMatrix