A-Z Index Contact Us


Return to Current Calendar (2010-2011)
Academic Courses
Undergraduate Courses
Anthropology Courses
Applied Bio-Molecular Science Courses
Bioinformatics Courses
Biology Courses
Business Courses
Business Courses (Orillia Campus Only)
Chemistry Courses
Computer Science Courses
Economics Courses
Education
Engineering Courses
English Courses
Environmental Studies
Forestry Courses
General Science Courses
Geoarchaeology Courses
Geography Courses
Geology Courses
Gerontology Courses
History Courses
Indigenous Learning Courses
Inquiry (Orillia Campus Only)
Kinesiology Courses
Languages
Library and Information Studies
Mathematics Courses
Medicine
Music Courses
Native Access
Nursing Courses
Northern Studies (NORT) Courses
Outdoor Recreation Courses
Philosophy Courses
Physics
Political Science Courses
Psychology
Religious Studies
Social Work
Sociology
Visual Arts Courses
Water Resource Science
Women's Studies Courses
Graduate Courses (Masters and PhD)
Academic Programs
Academic Schedule of Dates
Academic Units
Admission Requirements
Continuing Education and Distributed Learning
Fees 2009-2010
Financial Aid to Students
Governing Bodies, Administration and Faculty
Medals and Prizes
The University (An Introduction)
University Community
University Regulations
Previous Calendars
Summary of New Changes Made in This Calendar

LAKEHEAD CALENDAR 2009-2010

Lakehead 2009-2010 Academic Courses Undergraduate Courses Computer Science Courses
Computer Science Courses

Courses not offered this academic year (fall/winter terms) are indicated by the words "NOT OFFERED THIS YEAR" below the course description. Nevertheless, students should refer to the Timetable as a final check.

All course selections are subject to the consent of the department. Prerequisites may be waived if the department so decides.

The lecture and laboratory hours for each course, given beneath the course description for each of the two terms (for example 3-3; 3-0 would indicate 3 lecture hours in each term, 3 lab hours in the first term only), indicate the relative amount of work required. The actual duration of lectures and laboratories is at the discretion of the department.

Notes:
1. Students cannot obtain credit for two courses covering essentially the same material such as: Computer Science 0411, 0511, and 1411.
2. Courses marked with a * are diploma courses which are not acceptable for degree credit.
3. Courses marked with a ** are not acceptable for degree credit in any of the programs offered by the Department of Computer Science.

*Computer Science 0310      Introduction to Computers (Microcomputer)
Credit Weight: 0.5
Description: A general introduction to computers, how they work and the role they now play in society, including the development of simple practical skills in interactive computing, e.g. text editing, use of files, applications packages and simple programs.
Offering: 1-2; or 1-2
back to top
*Computer Science 0312      Introduction to Computer Systems
Credit Weight: 0.5
Description: Topics include an overview of computer systems, files, directories, operating system commands, communication and network utilities, system configurations, and a brief introduction to a high-level programming language.
Offering: 0-0; 2-2
back to top
*Computer Science 0314      Introduction to Microcomputers for Engineers
Credit Weight: 0.5
Description: An introductory course in the use of microcomputers: emphasizing a Windows environment; technical word processing; spreadsheets; an introduction to MATLAB programming; integrating PC software.
Offering: 0-3; or 0-3
Notes: Acceptable for credit in Engineering Technology programs only
back to top
Computer Science 0411      Elementary Computing
Credit Weight: 0.5
Prerequisite(s): Grade 12 Mathematics
Description: The development of good programs, simple system functions and the fundamental grammar of FORTRAN. Students will develop and write their own programs and run them in a time-sharing environment.
Offering: 3-1; or 3-1
back to top
Computer Science 0412      Elementary Computing for Foresters
Credit Weight: 0.5
Description: An introduction to UNIX and components of an office suite package such as MS-OFFICE PROFESSIONAL. Students will be exposed to word processing, data analysis using spreadsheets and data structures using data bases, use of presentation software and web page construction. Programming using macros with applications will be presented using Visual Basic.
Offering: 2-3; or 2-3
Notes: Restricted to Forestry students only.
back to top
Computer Science 0431      Applied Program Design
Credit Weight: 0.5
Prerequisite(s): Mathematics 0411
Description: The elements of programming design and style - characterization of a good program, top-down design, structured programming, modular design, debugging and testing. Each student will participate in the design and implementation of a significant programming project.
Offering: 0-0; 3-1
back to top
Computer Science 0433      Introduction to Internet Computing
Credit Weight: 0.5
Description: An introduction to Internet and its architecture, fundamental methods for employment of communications on the Internet. The emphasis is on the development of practical skills in Internet Communication; e.g. learning HTML and designing Home pages.
Offering: 2-2; or 2-2
Notes: Enrolment limit: 40 per lab
back to top
Computer Science 1411      Computer Programming I
Credit Weight: 0.5
Prerequisite(s): One credit in Grade 12 U Mathematics recommended
Description: A first course in programming given in C - mathematical problem solving, program development, C grammar and simple system functions. Students will develop and write their own programs and run them in a time?sharing environment.
Offering: 3-1; or 3-1
back to top
Computer Science 1431      Computer Programming II
Credit Weight: 0.5
Prerequisite(s): Computer Science 1411
Description: Substantially extends the programming skills development, with more complex programs, using advanced C and C++ features. Good programming style and documentation are stressed throughout. Advanced data types, program structures and other advanced topics in C and C++ languages are discussed.
Offering: 0-0; 3-1
back to top
Computer Science 1990      Co-op Work Term I
Credit Weight: 0.5
back to top
Computer Science 2412      Data Structures
Credit Weight: 0.5
Prerequisite(s): Computer Science 1431
Description: The design and analysis of data structures and algorithms including Stacks, Link Lists, Trees, Graphs, Searching, Sorting and their complexity analysis. The theory is reinforced by working examples, laboratories, projects, and the use of abstract data types from the C and C++ standard libraries.
Offering: 3-1; 0-0
back to top
Computer Science 2453      Introduction to Computer Architecture I
Credit Weight: 0.5
Prerequisite(s): Computer Science 1431
Description: Digital logic. Digital systems. Machine-level representation of data. Major component parts of a modern digital computer, namely, control unit, arithmetic and logic units, memory units and peripheral interfaces are studied.
Offering: 3-0; 0-0
back to top
Computer Science 2473      Introduction to Computer Architecture II
Credit Weight: 0.5
Prerequisite(s): Computer Science 2453
Description: Assembly-level machine organization. Memory system organization and architecture. Interfacing and communication. Writing simple I/O routines and interrupt handlers. The organization of a modern digital computer at Instruction Set Processor level is studied.
Offering: 0-0; 3-1
back to top
Computer Science 2476      Introduction to Operating Systems
Credit Weight: 0.5
Prerequisite(s): Computer Science 1431
Description: A practical introduction to operating systems. Basic concepts are examined by using a model operating system. Install and configure the model operating system. Diagnose operating system faults.
Offering: 0-0; 2-2
back to top
Computer Science 2477      Object Oriented Programming
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412
Description: Java for software practitioners experienced in procedural languages, such as C. Concepts of object-oriented programming are shown and practiced through examples, exercises and assignments. Encapsulation, behavior, responsibilities, inheritance, polymorphism, exception and event handling, JDBC, and Java servelets will be used to incrementally build significant object oriented programs. Visual tools for building GUI objects and integrating them into programs.
Offering: 0-0; 3-1
back to top
Computer Science 2990      Co-op Work Term II
Credit Weight: 0.5
back to top
Computer Science 3213      Special Topics II
Credit Weight: 0.5
Prerequisite(s): Permission of the Department
Description: Directed studies and research under the guidance of a faculty member in an area of computer science. The student's transcript shall contain a title descriptive of the work accomplished under the course, if possible.
SpecialTopic: Y
Offering: 0-0; 3-0
back to top
Computer Science 3413      Database Management Systems
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412 and 2477
Description: The data base concept. The relational model. SQL and other database manipulation languages. Experience with a modern database environment. Normalization and logical database design. Database administration, physical database design.
Offering: 3-1; 0-0
back to top
Computer Science 3415      Software Engineering
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412 and 2477
Description: An introduction to the concepts of software engineering: software life cycle, project planning, cost estimation, software specification, implementation, verification and validation techniques, and software maintenance. Written and oral presentations will be an integral part of the course.
Offering: 3-1; 0-0
back to top
Computer Science 3473      Operating Systems
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412, 2453 and 2473, or permission of the Department
Description: Processes and device handlers and their implementation, communication and synchronization. Synchronization primitives. Process allocation. Memory management. The software required to support a virtual memory system. Resource allocation algorithms. File system implementation. Security and protection. System implementation strategies. The evolution of computer systems: batch processing, multiprogramming, multi-processing, real-time, time-sharing, distributive systems. Each student will design and implement a module for an operating system kernel.
Offering: 3-0; 0-0
back to top
Computer Science 3990      Co-op Work Term III
Credit Weight: 0.5
back to top
Computer Science 3992      Co-op Work Term IV
Credit Weight: 0.5
back to top
Computer Science 4411      Programming Languages
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412
Description: The basic elements of programming languages and programming paradigms (such as imperative, logic, functional, object-oriented, scripting and web-services description) are explored. Representative languages are selected from Modula-3, Java 2, Prolog, Common Lisp, ML and Haskell. How programming languages are created and their relationship with the underlying hardware. Evaluating the merits of existing and emerging languages.
Offering: 3-0; 0-0
back to top
Computer Science 4413      Programming Language Processors
Credit Weight: 0.5
Prerequisite(s): Computer Science 4411
Description: Compiler organization, compiler-writing tools, finite automata and regular expressions, context-free grammars, scanning and parsing, semantic checking, run-time organization, implementation of a run-time model, storage allocation, code generation, and optimization. Students will be required to implement one or more parts of a compiler for a modern language.
Offering: 0-0; 3-0
back to top
Computer Science 4431      Advanced Project
Credit Weight: 0.5
Prerequisite(s): Computer Science 2477 and 3415
Description: Students will be required to work in teams to design and implement a significant software system. Design decision making will include the application of basic sciences, mathematics, computer science, and business fundamentals. Written and oral presentations will be an integral part of the course. Modern programming and design methodology will be stressed throughout.
Offering: 0-0; 3-0
back to top
Computer Science 4433      Algorithm Design and Analysis
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412, Mathematics 1281
Description: Design of algorithms and analysis of required time and space resources for execution. Lower bounds for resource requirements. Problems in arithmetic, order statistics, set manipulation, string matching, graph theory. Polynomial time, P, and non-deterministic polynomial time, NP, computable algorithms. NP complete problems.
Offering: 0-0; 3-0
back to top
Computer Science 4451      Theory of Computing
Credit Weight: 0.5
Prerequisite(s): Computer Science 4433
Description: Abstract computation devices, finite automata, pushdown, and linear-bounded automata. Turing Machines, or equivalent, as transducers and as acceptors. Connections with classes of languages and term-rewriting systems. Deterministic and non-deterministic computability. Introduction to logic programming via resolution-unification algorithms.
Offering: 0-0; 3-0
back to top
Computer Science 4453      Computer Networks and Distributed Systems
Credit Weight: 0.5
Prerequisite(s): Computer Science 3473
Description: An introduction to the concepts of Computer Networks: LAN, WAN, communication protocols, inter-process communication/synchronization. Concurrent programming and distributed systems. Real-time systems.
Offering: 3-0; or 3-0
back to top
Computer Science 4471      Computer Graphics
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412
Description: Topics include raster graphics, graphics architectures, application programmer's interface, interactive graphics, two and three dimensional computer graphics primitives and attributes, transformations, viewing, animation, hidden surface removal, colour and shading, and curves and surfaces.
Offering: 3-0; or 3-0
back to top
Computer Science 4475      Topics in Artificial Intelligence
Credit Weight: 0.5
Prerequisite(s): Computer Science 2412
Description: Introduction to artificial intelligence (AI) and its applications. Topics include one or more of the following: knowledge representation and discovery, rule-based inference and deduction, theorem proving, logic programming, reasoning and learning models, expert system, natural language understanding and intelligent user interfaces.
Offering: 3-0; or 3-0
back to top
Computer Science 4476      Cryptography and Network Security
Credit Weight: 0.5
Prerequisite(s): Computer Science 2477
Description: Topics include conventional encryption, public-key cryptology, authentication and digital signatures, key distribution, IP security, web security, and network management security.
Offering: 3-0; or 3-0
back to top
Computer Science 4478      Object-Oriented Design and Methodology
Credit Weight: 0.5
Prerequisite(s): Computer Science 2477
Description: Tools used in the software industry to develop large, complex software systems using modern software engineering methods and models. Analysis of application scenarios and design of information systems using Unified Modeling Language. Best-practice formulas, such as the "Gang-of-Four" (GoF) patterns, several PLOP workshop patterns, and aspect-oriented programming. Case studies and exercises illustrate and apply the patterns.
Offering: 3-0; or 3-0
back to top
Computer Science 4479      Reading and Research in Computer Science
Credit Weight: 0.5
SpecialTopic: Y
Offering: 3-0 or 3-0
back to top
Computer Science 4990      Co-op Work Term V
Credit Weight: 0.5
back to top
Computer Science 4992      Co-op Work Term VI
Credit Weight: 0.5
back to top