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

The Canisius College Computer Science Department, in accordance with the Canisius College mission, is committed to delivering a high quality education to its students, engaging in research and publication that advances computer science and computer science education, providing modern computer equipment to support these efforts and creating an environment that is supportive of women as well as men who want to study in this field.

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, intelligent systems 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 science.

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. A student must complete a minor from another academic department as part of the bachelor of arts. 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.

Upon completion of a Canisius College Computer Science bachelor’s degree program, a student will:

  • Know how to design a computational solution to a problem
  • Be able to program well
  • Be able to organize data for its effective use
  • Know the operational details of computer languages and systems
  • Know the theoretical foundations of computing
  • Understand the role of computing and that of a computing professional
Admission
Prospective Computer Science majors and minors must have a cumulative G.P.A. of at least 2.0, earning a grade of at least a B- in CSC111 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 advisor in the department.


The performance of all majors and minors is subject to periodic 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 credits)
2. Area Studies: Two courses from each of these areas:1    
 a. B.S. majors: II, III, IV, V, VI, VIII (12 courses) (36 credits)
 b. B.A. majors: I, II, III, IV, V, VI , VIII (14 courses) (42 credits)
3. Major course requirements: (19 courses)  
a. Required of all majors:    
One course from:2 (3 credits)
     BIF 101 Introduction to Bioinformatics
     CSC 108 Introduction to Web Computing
     CSC 109 A Robotics Introduction to Computer    
     Science
     CSC 110 Introduction to Computing
  CSC 111 Introduction to Programming (4 credits)
  CSC 212 Data Structures (4 credits)
  CSC 213 Large Scale Programming (4 credits)
  CSC 253 Computer Hardware (3 credits)
  CSC 281 Automata and Algorithms (3 credits)
  CSC 310 Information Organization and Processing (4 credits)
  CSC 330 Distributed Computing (4 credits)
  CSC 351 Comparative Programming Languages (4 credits)
  CSC 360 Intelligent Systems (4 credits)
  CSC 395 Software Engineering (4 credits)
  CSC 391-491 Computer Science Seminar (2 credits)
  Computer Science electives: two courses (300-
  400 level)
 
(8 credits)
  MAT 191 Introduction to Discrete Mathematics (4 credits)
 b. Required of B.S. majors:   
  MAT 111-112 Calculus I & II (8 credits)
  Two semesters of a lab science (BIO 101-102, CHM 
  111-  112, or PHY 223-224)
(10 credits)
  MAT 141 Inferential Statistics and Computers for 
  Science
(4 credits)
 c. Required of B.A. majors:    
  MAT 111 Calculus I (4 credits)
  A minor outside of computer science (12 credits)
4. Electives: Science electives and MAT 219 are recommended for B.S. majors. All majors are encouraged to take courses to strengthen logical, verbal and written communication skills. In particular, COM 201, PHI 300 and PHI 340 are recommended.
 a. B.S. majors (2 courses) (6 credits)
 b. B.A. majors (0 courses) (0 credits)
TOTAL: B.S. majors (37 courses) (131credits)
  B.A. majors (37 courses) (125 credits)

Recommended Schedule (Bachelor of Science):

Fall       Spring                        
Freshman Year      
ENG 101 3 credits ENG 102 3 credits
BIF 101 or CSC 108 or CSC 109 or CSC 110 3 credits CSC 111 4 credits
MAT 111 4 credits MAT 112 4 credits
AS 3 credits MAT 191 or
MAT 141
4 credits
AS 3 credits Total 15 credits
Total 16 credits    
 
Sophomore Year      
RST 101 3 credits PHI 101 3 credits
CSC 212 4 credits CSC 213 4 credits
CSC 253 3 credits CSC 281 3 credits
AS or BIO 101 or CHM 111 3 or 5 credits PHY 223 or BIO 102 or CHM 112 5 credits
AS 3 credits Total 15 credits
Total 16 or 18 credits    
 
Junior Year      
CSC 310 or CSC 391 4 credits CSC 330 or CSC 395 4 credits
CSC 391 1 credit CSC 360 or AS 3-4 credits
AS or PHY 224 3 or 5 credits MAT 141 or MAT 191 4 credits
AS 3 credits AS 3 credits
AS 3 credits AS 3 credits
Total 14 or 16 credits Total 17 or 18 credits
 
Senior Year      
CSC 351 or CSC 310 4 credits CSC 395 or CSC 330 4 credits
CSC 491 1 credit CSC elective 4 credits
CSC elective 4 credits AS or CSC 360 3 or 4 credits
AS 3 credits AS 3 credits
AS 3 credits Elective 3 credits
Elective 3 credits Total 17 or 18 credits
Total 18 credits    
TOTAL:     131 credits

Recommended Schedule (Bachelor of Arts):

Fall       Spring      
Freshman Year      
ENG 101 3 credits ENG 102 3 credits
BIF 101 or
CSC 108 or 
CSC 109 or
CSC 110
3 credits CSC 111 4 credits
MAT 111 4 credits MAT 191 4 credits
AS 3 credits AS  3 credits
AS 3 credits Total 14 credits
Total 16 credits
 
Sophomore Year      
RST 101 3 credits PHI 101 3 credits
CSC 212 4 credits CSC 213 4 credits
CSC 253 3 credits CSC 281 3 credits
AS 3 credits AS 3 credits
AS 3 credits AS 3 credits
Total 16 credits Total 16 credits
 
Junior Year      
CSC 310 or CSC 351 4 credits CSC 330 or CSC 395 4 credits
CSC 391 1credit Course for minor 3 credits
Course for minor 3 credits AS or CSC 360 3 or 4 credits
AS 3 credits AS 3 credits
AS 3 credits AS 3 credits
 AS 3 credits Total 16 or 17 credits
Total 17 credits
 
Senior Year      
CSC 395 or CSC 310 4 credits CSC 351 or CSC 330 4 credits
CSC 491 1 credit CSC elective 4 credits
CSC elective 4 credits Course for minor 3 credits
Course for minor 3 credits CSC 360 or AS 3 or 4 credits
AS 3 credits Total 14 or 15 credits
Total 15 credits    
TOTAL:     125 credits

Computer Science Minor:


One course from: 2 (3 credits)
     BIF 101 Introduction to Bioinformatics
     CSC 108 Introduction to Web Computing
     CSC 109 A Robotics Introduction to Computer 
     Science
     CSC 110 Introduction to Computing
CSC 111 Introduction to Programming (4 credits)
CSC 212 Data Structures (4 credits)
Computer Science electives: two courses, at least
one at the 300 or 400 level, chosen in consultation
with a departmental advisor
(7-8 credits)
Total (5 courses) (18-19 credits)

Computer Theory Minor: 3

One course from: 2 (3 credits)
     BIF 101 Introduction to Bioinformatics
     CSC 108 Introduction to Web Computing
     CSC 109 A Robotics Introduction to Computer 
     Science
     CSC 110 Introduction to Computing
CSC 111 Introduction to Programming (4 credits)
MAT 191 Introduction to Discrete Mathematics (4 credits)
CSC 212 Data Structures (4 credits)
CSC 281 Automata and Algorithms (3 credits)
Total (5 courses)   (18 credits)

Computing Facilities
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. The department also has a cluster computer, a three-dimensional visualization system and a robotics laboratory. The main department equipment is on a local area network and is accessible from the Internet or from anywhere on campus. WIFI access is available for students with laptop computers. Beginning with the first semester of their sophomore year, Computer Science students are 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: 2007 - 2009

Note: CSC 107 and CSC 497 do not count as Computer Science electives.

CSC 107 Computer Programming for Science                  4 credits
Introduction to the computer and programming using C with special emphasis on scientific and mathematical applications. Fall 2008 only


CSC 108 Introduction to Web Computing                             3 credits
Introduction to computer science through web sites, web pages, web page programming, HTML, XML, XHTML and JavaScript. The history and social impact of computers, networks and the World Wide Web are included in the course. (AS VII). Fall & Spring 2007 - 2009.


CSC 109 A Robotics Introduction to Computer Science              3 credits
Introduction to computer science through robotics, the basics of artificial intelligence and the fundamental ideas of logic, algorithms, computer systems and programming. (AS VII). Fall & Spring 2007 - 2009


CSC 110 Introduction to Computing                         3 credits
Overview of computing science. Major issues in computer technology, systems software, theoretical foundations, artificial intelligence and social implications. (AS VII) Fall & Spring 2007 – 2009


CSC 111 Introduction to Programming                           4 credits
Algorithms, programming, computers, languages and language structure. Prerequisite: BIF 101, CSC 108, CSC 109, or CSC 110. (AS VII). Spring 2008 & 2009


CSC 212 Data Structures                             4 credits
Basic concepts of data structures, including lists, stacks and queues. User-defined structures and abstract data types. Prerequisites: At least a B- in CSC 111 and CSC 111L. Fall 2007 & 2008


CSC 213 Large Scale Programming               4 credits
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. Spring 2008 & 2009


CSC 253 Computer Hardware                             3 credits
Introduction to digital logic, Boolean algebra, hardware and computer organization. Overview of current and future architectures. Prerequisite: CSC 111. Fall 2007 & 2008


CSC 281 Automata and Algorithms                        3 credits
Formal l anguage 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. Spring 2009 only


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


CSC 325 Computer Graphics                       4 credits
Techniques involved in realistic image production including illumination models, object modeling, shadowing, texturing, ray tracing, radiosity, animation and advanced modeling techniques for natural phenomenon and characters. Prerequisite: CSC 212. Spring 2009 only


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


CSC 333 Modeling and Simulation                       4 credits
Introduction to the design of simulation programs. Uses 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. Prerequisite: CSC 212. Fall 2008 only


CSC 341 Numerical Analysis See MAT 341.                       3 credits

CSC 342 Graph Theory See MAT 342                       3 credits

CSC 350 Artificial Intelligence                            4 credits
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. Spring 2008 only


CSC 351 Comparative Programming Languages                        4 credits
Systematic study of programming languages and their implementations. Programming in logical and functional programming languages is included. Prerequisite: CSC 212.Fall 2008 only


CSC 360 Intelligent Systems                             4 credits
An introduction to intelligent systems including expert systems, reasonng systems, neural networks, language understanding and basic robotics. Ethical, legal and social issues will be discussed. Prerequisite: CSC 111 and junior/senior standing. Spring 2009 only


CSC 380 Web Development                          4 credits
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. Prerequisite: CSC 111 and junior/senior standing. Fall 2008 only


CSC 391-491 Computer Science Seminar                  1-1 credits
Student-faculty research-based seminar for majors. To be taken for two semesters — one in the junior year and one in the senior year. Recent topics include parallel computing, computer memory management, robotics, three-dimensional visualization and parallel rendering. Fall 2007 & 2008


CSC 395 Software Engineering                        4 credits
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. Spring 2009 only


CSC 497 Internship                                1 - 3 credits
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 499 Independent Study                        3 credits
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 science courses.
2 If a student is taking or has taken CSC 107 when changing their major to computer science or adding a computer science minor, CSC 107 will be accepted as a substitute for this requirement.
3 This minor requires a minimal level of mathematical sophistication resulting from a college calculus sequence.