Full-Time Faculty: Debra T. Burhans, Co-chair; R. Mark Meyer, Co-chair; Matthew A. Hertz, Jeffrey J. McConnell, 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 and 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 electives covering current topics. Professionalism, ethical computing conduct, 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 two minors, a certificate and courses for non-majors.Student Learning Goals
The Computer Science major will:
Goal 1: Develop a computation solution to a problem over the entire software lifecycle.
Goal 2: Know the operational details of computer languages and systems.
Goal 3: Know the theoretical foundations of computing.
Qualifications for the major
Computer Science majors and minors must have a cumulative G.P.A. of at least 2.0 in all computer science courses and labs, a B- or better grade in CSC111 and CSC111L, and an overall cumulative GPA of 2.0 for all courses taken. The performance of all majors and minors is subject to periodic review relative to their continuation in the program. Students not performing up to the necessary standards will be advised of the problem and corrective action will be recommended by the department chair. Computing Facilities
The Computer Science department facilities include two labs with Linux workstations and personal computers. A multiprocessor system is the main file server and computing engine for the department and its Linux workstations. The department also has a 24-node cluster computer and a robotics laboratory. Beginning with the first semester of their sophomore year, Computer Science students are granted 24/7 access to department computing labs.
Computer Science Curriculum:
1. Core Curriculum Requirements:
See pages 38-40 of this catalog or go to /academics/core.asp for the Core Curriculum requirements. All students complete these requirements as part of their overall Canisius education.
2. Major Course Requirements
| A. Required of all Majors |
|
| One course from: |
3-4 credits |
BIF 101 Introduction to Bioinformatics CSC 107 Computer Programming for Science CSC 108 Introduction to Web Computing CSC 109 Robotics Introduction to Computer Science CSC 110 Introduction to Computing CSC 127 Introduction to Game Programming |
| 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 111 Calculus I |
4 credits |
| MAT 191 Introduction to Discrete Mathematics |
4 credits |
| |
|
| B. Required of B.S. majors: |
|
| MAT 112 Calculus II |
4 credits |
| Two semesters of a lab science (BIO 101-102, CHM 111-112, or PHY 223-224) |
8 credits |
MAT 141 Inferential Statistics and Computers for Science |
4 credits |
| |
|
|
| C. Required of B.A. majors: |
|
| A minor outside of computer science |
12-21 credits |
3. Free electives
Free electives are courses in addition to the Core Curriculum and major requirements sufficient to reach a minimum of 120 credit hours for graduation. Students may graduate with more but not less than 120 credit hours. 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, courses in communication, logic, and ethics, are recommended.
Computer Science Minor:
| One course from: |
3-4 credits |
BIF 101 Introduction to Bioinformatics CSC 107 Computer Programming for Science CSC 108 Introduction to Web Computing CSC 109 Robotics Introduction to Computer Science CSC 110 Introduction to Computing CSC 127 Introduction to Game Programming |
|
| CSC 111 Introduction to Programming |
4 credits |
| CSC 212 Data Structures |
4 credits |
| CSC 213 Large Scale Programming |
4 credits |
Computer Science elective: one course at the 300 or 400 level, chosen in consultation with a departmental advisor |
3-4 credits |
| Total (5 courses) |
18-20 credits |
Computer Theory Minor:
| One course from: |
|
3-4 credits |
BIF 101 Introduction to Bioinformatics CSC 107 Computer Programming for Science CSC 108 Introduction to Web Computing CSC 109 Robotics Introduction to Computer Science CSC 110 Introduction to Computing CSC 127 Introduction to Game Programming |
|
|
| 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 |
|
|
19 credits |
COURSES: 2009 - 2011
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 2009
CSC 108 Introduction to Web Computing 3 credits
Introduction to computer science through web sites, web pages, web page programming, HTML, XML, XHTML, CSS and JavaScript. The history and social impact of computers, networks and the World Wide Web are included in the course. Fall & Spring
CSC 109 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. 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. Fall 2009CSC 111 Introduction to Programming 4 credits
Algorithms, programming, computers, languages and language structure. Prerequisite: BIF 101, CSC 107, CSC 108, CSC 109, CSC 110, or CSC 127. SpringCSC 127 Introduction to Game Programming 3 credits
Computer game development and underlying computer concepts necessary for game programming. Game components related to the player, game component, stories, characters, game play, graphics, the interface and audio. Fall and SpringCSC 212 Data Structures 4 credits
Basic concepts of data structures, including lists, stacks and queues. User-defined structures and abstract data types. Prerequisites: B- or higher in CSC 111 and CSC 111L. FallCSC 213 Large Scale Programming 4 credits
Introductory concepts of software engineering applied to the design and implementation of larger software systems. Advanced data structures. Prerequisites: CSC 212 and CSC 212L. SpringCSC 253 Computer Hardware 3 credits
Introduction to digital logic, Boolean algebra, hardware and computer organization. Overview of current and future architectures. Prerequisites: CSC 111 and CSC 111L. FallCSC 253L Computer Hardware Lab 1 credit
Self-contained laboratory experience to augment hardware and electronics concepts introduced in CSC 253. Optional but open to any Computer Science major or minor. Prerequisite: CSC 253 (may be taken during the fall semester)CSC 281 Automata and Algorithms 3 credits
Formal language theory including finite and pushdown automata, grammars, Turing Machines and the Halting Problem. Introduction to the design and analysis of algorithms, classes of problems and methods for developing an analysis. Prerequisite: CSC 212 and CSC 212L. SpringCSC 299 Computer Practicum 0 credits
Additional practice in computer programming to enhance algorithm development, coding and debugging skills, with a view towards being a part of a team in a regional or national programming contest. May be taken 8 times total, once per semester. Prerequisite: Permission of instructorCSC 310 Information Organization and Processing 4 credits
Databases, high-level organization and processing of information, access to and ethical use of information. Prerequisites: CSC 213 and CSC 213L. Fall 2009CSC 313 Advanced Programming Topics 4 credits
Focuses on the practice of computer science by investigating emerging development techniques from industry. Topics include design patterns, application profiling, code optimizations and testing techniques. Prerequisites: CSC 213 and CSC 213L. Spring 2010CSC 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. Prerequisites: CSC 212 and CSC 212L. CSC 330 Distributed Computing 4 credits
System software and distributed applications. Modern distributed operating systems, client/server and other models, security and ethical issues. Prerequisites: CSC 212, CSC 212L and CSC 253. Spring 2010CSC 351 Comparative Programming Languages 4 credits
Systematic study of programming languages and their implementations. Programming in logical and functional programming languages is included. Prerequisites: CSC 212 and CSC 212L. Fall 2010 CSC 360 Intelligent Systems 4 credits
An introduction to intelligent systems including expert systems, reasoning systems, neural networks, language understanding and basic robotics. Ethical, legal and social issues will be discussed. Prerequisites: CSC 213 and CSC 213L. Spring 2011 CSC 380 Web Development 4 credits
Web history, design principles, programming and scripting (both client-side and server-side), database access, client/server mechanisms, search engines, copyright and ethical issues, security. Prerequisites: CSC 111 and CSC 111L and junior/senior standing. Spring 2011
CSC 391-491 Computer Science Seminar 1 credit each
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, dynamic memory management, robotics and game engine evaluation. CSC 395 Software Engineering 4 credits
The application of engineering principles to the design, production, use and maintenance of software is studied through readings and a team project. Prerequisites: CSC 213 and CSC 213L. Fall 2010
CSC 400 Special Topics in Computing 4 credits
Current topics of interest to faculty and students. Possible topics: cryptography, advanced scripting languages, networking, etc. Prerequisites: Permission of Instructor. Spring 2011
CSC 497 Internship 1-3 credits
Special projects for local institutions/businesses. Must be related to a specific focused task and involve a significant learning component. Credit is not given for part-time work. Approved project proposal and results documentation required. Does not count as a CSC elective. Prerequisite: Permission of chair.
CSC 499 Independent Study 3 credits
Prerequisite: Permission of chair.