Computer Science
cs.canisius.edu 207 Wehle Technology Center 716-888-2430
Course Descriptions

Courses for CSC Majors and Minors
  • CSC 108 (3 hrs) Introduction to Web Computing
  • CSC 109 (3 hrs) A Robotics Introduction to Computer Science
  • CSC 110 (3 hrs) Introduction to Computing
  • CSC 127 (3 hrs) Introduction to Game Programming
  • CSC 111 (4 hrs) Introduction to Programming
  • CSC 212 (4 hrs) Data and File Structures
  • CSC 213 (4 hrs) Large Scale Programming
  • CSC 253 (4 hrs) Computer Hardware
  • CSC 281 (3 hrs) Automata and Algorithms
  • CSC 310 (4 hrs) Information Organization & Processing
  • CSC 330 (4 hrs) Distributed Computing
  • CSC 351 (4 hrs) Comparative Programming Languages
  • CSC 360 (4 hrs) Intelligent Systems
  • CSC 395 (4 hrs) Software Engineering
  • CSC 400 (4 hrs) Computer Science Elective
  • CSC 391 (1 hr) Computer Science Seminar
  • CSC 491 (1 hr) Computer Science Seminar

Auxiliary Courses   (not required of all majors)

  • MAT 111 (4 hrs) Calculus I
  • MAT 112 (4 hrs) Calculus II
  • MAT 191 (4 hrs) Discrete Mathematics
  • MAT 141 (4 hrs) Inferential Statistics and Computers for Science

Courses for Non-Majors

  • CSC 107 (4 hrs) Computer Programming for Science


CSC 107: Computing Programming for Science 3 cr.

"Introductory computer programming using the C language on the UNIX system. Stresses development of algorithms, coding and debugging skills, and introduces areas of application to the sciences and engineering."

* If you are a major in the Chemistry, Physics or Biology, or a pre-engineering student, you may want to know elementary computer programming concepts, which is what this course teaches. The syntax of a very popular scientific programming language, C, is taught and practice is given in writing and debugging programs.


CSC 108: Introduction to Web Computing 3 cr.
Field 7 course

"Introduction to computer science through web sites, web pages, web page programming, HTML, XML, XHTML, and JavaScript.

* This course introduces the student to the wide world of computing by teaching students how to use XHTML, CSS, XML and other technologies to create web sites, and how to use JavaScript as a programming language within those web sites. Server side programming (e.g. ASP or PHP) is not covered. Also, this is not a course in how to use your favorite web publishing tool, e.g. DreamWeaver or FrontPage.


CSC 109: A Robotics Introduction to Computer Science 3 cr.
Field 7 course

"Introduction to computer science through robotics, the basics of artifical intelligence, and the fundamental ideas of logic, algorithms, computer systems and programming.

* This course introduces the student to the wide world of computing by teaching students about robotics, having them construct LEGO Mindstorms NXT robots and program them using a graphical programming language. Many other issues such as the social implications of robotics are explored.


CSC 110: Introduction to Computing 3 cr.
Field 7 course

"Overview of computing science. Major issues in computer technology/ hardware, systems software, theoretical foundations, artificial intelligence, and social implications."

* This course introduces the student to the wide world of computing by giving a brief exposition of all the major fields: hardware, software, AI, society and ethics, and other things. The Macintosh is used. This is NOT an applications course where the student merely learns how to use word processors or spreadsheets. Rather it is an "under the hood" look at computers.


CSC 127: Introduction to Game Programming 3 cr.
Field 7 course

"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.


CSC 111: Introduction to Programming (with 1 hr. lab) 4 cr.


CSC 212: Data Structures (with 1 hr. lab) 4 cr.

"Basic concepts of data structures and file organization. User- defined structures and abstract data types."

MUST HAVE PASSED CSC 111 and CSC 111L with a grade of B- or higher.

* This course provides more practice in programming, emphasizing better program structuring techniques such as abstract data types. In addition advanced data structures, such as linked lists, trees, queues, etc. are covered. Some file concepts above and beyond simple sequential files are also introduced, such as ulect access files.


CSC 213: Large Scale Programming (with 1 hr. lab) 4 cr.

"Programming in the large, emphasizing large programs, elementary software engineering principles, especially documentation and testing."

MUST HAVE PASSED CSC 212.

* In this course students will get more practice in programming, documentation, testing, and group work. Java will be used in Spring 2000 for the first time in this course.


CSC 253: Computer Hardware (with 1 hr. lab) 4 cr.

"Introduction to computer organization and architecture, emphasizing Boolean logic, gates, buses, digital circuits and computer components. Some assembler programming."

MUST HAVE PASSED CSC 111.

* Many aspects of computer hardware are introduced, such as gates, flip-flops, Boolean logic, number systems. Then higher levels of organization are developed: registers and memories, the ALU and the control circuitry."


CSC 281: Automata and Algorithms 3 cr.

"Formal language theory including finite automata, pushdown automata, grammars, Turing Machines, the Halting Problem, and primitive recursive functions. Analysis of algorithms is introduced."

MUST HAVE PASSED CSC 212.

* The formal models developed to study computation are introduced and studied. This course involves no programming, no hands-on experience with the computer, but rather just theoretical and abstract "machines" on papers. There are some proofs.


CSC 310: Information Organization & Processing (with 1 hr. lab) 4 cr.

"Databases and knowledge bases are introduced, as well as issues related to efficient organization of all kinds of data. Ethical issues related to privacy are investigated."

MUST HAVE PASSED 213.



CSC 330: Distributed Computing (with 1 hr. lab) 4 cr.

"All aspects of distributed systems and computing, from multi-site multi-user applications to operating systems and networking."

MUST HAVE PASSED CSC 212 and CSC 253.

* Operating systems are the programs that manage and allocate resources in a computer, like disks and tapes, terminals, CPUs, communications ports and other hardware. They are all studied, along with security theory, parallel programming, transaction systems, and distributed operating systems.



CSC 360: Intelligent Systems (with 1 hr. lab) 4 cr.

"How to program computers to behave in ways normally attributed to `intelligence' when observed in humans. Social impact of AI technology, for example, expert systems."

MUST HAVE PASSED CSC 111 and be a junior or senior.


CSC 351: Comparative Programming Languages (with 1 hr. lab) 4 cr.

"Systematic study of programming languages and their implementations, including applications from various fields."

MUST HAVE TAKEN CSC 211 already.

* In this course, the mystery behind programming language is stripped away and students see how they really work -- how arrays and records are implemented, how parameters are passed, and many other things. The main paradigms of programming languages are presented and a representative language from each is presented and a short program done in it. In the past this has included Ada, Prolog, FP and LISP.


CSC 380: Web Development (with 1 hr. lab) 4 cr.

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

MUST HAVE TAKEN CSC 111 already and be a junior or senior.


CSC 391-491: Computer Science Seminar 1 cr, 1 cr, 1 cr

"Student-faculty seminar for majors. To be taken for two semesters. Students will work on a research question in a small team of 3-5 students, headed by a professor.


CSC 395: Software Engineering (with 1 hr. lab) 4 cr.

"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."

MUST HAVE PASSED CSC 213.


CSC 400: Special Topics in computing 3 or 4 cr.

"Current topics of interest to faculty and students. Possible topics: data communications, networks, object-oriented programming, and other modern programming languages such as Java."

MUST GET PERMISSION OF INSTRUCTOR TO REGISTER.


CSC 497: Internship 1 to 3 cr.

"Special projects with local institutions."

MUST GET PERMISSION OF CHAIR TO REGISTER.


CSC 498: Independent Project 3 cr.

"Formulate a problem in Computer Science, design and implement a solution, and evaluate the result. Documentation and oral presentation are required."

MUST GET PERMISSION OF CHAIR TO REGISTER and be a junior in CS.


CSC 499: Independent Study 3 cr.

MUST GET PERMISSION OF CHAIR TO REGISTER.


©2009 Canisius College Computer Science Department
207 Wehle Technology Center 2001 Main Street Buffalo, NY 14208
Phone: 716-888-2430 | Fax: 716-888-2430
Credits | College home page | CSC Department home page