University of Guelph

1996-97 Undergraduate Calendar


XII--Course Descriptions

Computing and Information Science

Department of Computing and Information Science

Note: Credit may be obtained for 1 of 27-100 or 27-120, and for 1 of 27-150 or 27-160. None of these courses may be taken for credit after 27-170. Students with credit for 26-202 may not register in 27-100 or 27-120.

Students who major or minor in Computing and Information Science may not receive credit for the following courses unless taken to satisfy the requirements of another program: 26-202, 63-105, 80-479, 92-431.

27-100 Introduction to Computer Applications S,F,W(3-2)

A survey of computer systems and software. An introduction to computer programming and data organization. An emphasis on using application packages for personal and business use. The social impact of computing. Not recommended for students with previous computer science background.

Exclusions: 27-120.

27-120 Introduction to Computing F,W(3-2)

An introduction to computer hardware and software, data organization, problem-solving and programming. Exposure to application packages for personal and business use. For students who wish a balance between programming and the use of software packages.

Exclusions: 26-202, 27-100.

27-150 Introduction to Programming W(3-2)

problem-solving and programming concepts using a structured approach and a general purpose programming language. Computer hardware and software. Data organization. Special reference to statistical analysis and scientific applications. For students who require a good understanding of programming.

Exclusions: 27-160.

27-160 Foundations of Programming F(3-2)

Problem-solving and programming concepts using a general purpose programming language. Introduction to hardware, and systems software, and application software. Provides a solid foundation in programming for students who intend to take additional computing courses. This course is designed for students intending to major in Computing and Information Science.

Exclusions: 27-150.

27-170 Introduction to Computing and Information Sciences F,W(3-2)

An introduction to problem-solving using stepwise refinement, programming concepts using a structured approach and a general purpose programming language, static and dynamic data structures, algorithm analysis, software engineering and computer systems.

Prerequisites: 27-160 or equivalent.

27-190 Discrete Structures in Computer Science F,W(3-2)

Topics designed to emphasize problem-solving techniques and provide a mathematical foundation for future computer science courses. Elementary data structures, algorithms, complexity, combinatorial enumeration, relations, graph theory, logic and Boolean Algebras.

Concurrent: 27-170.
Exclusions: 63-105.

27-240 Introduction to Information Processing S,W(2-2)

System and program development. Edit, update, and report generation in batch and online environment. Systems interfacing. COBOL in applications programming. Unit testing techniques. Substantial project development is a part of this course.

Prerequisites: 27-170.

27-242 Data Structures S,F(2-2)

Linear lists, strings and arrays. Representation of trees and graphs. Symbol tables and searching techniques. Sorting techniques. Data structures in programming language systems and in data management systems.

Prerequisites: 27-170, 27-190.

27-311 Operating Systems F(3-1)

Operating systems in theory and practice. Components in a system-scheduling and resource allocation; process management, multi-programming, multi-tasking; I/O control and file systems. Performance considerations. Examples from contemporary operating systems.

Prerequisites: 27-242.

27-312 Digital Systems S,W(3-1)

Boolean algebra, minimization of Boolean expressions. Design of combinational and sequential logic circuits. Memory design. Control, ALU, bus design. Microprogramming and CPU design.

Prerequisites: 66-201.

27-320 Software Engineering S,W(3-2)

Introduction and development of ideas for software engineering to produce reliable systems. Topics include system development techniques and tools, design and testing methodologies, performance monitoring and evaluation of software development environments. Team project to be developed.

Prerequisites: 27-242, 27-343.
Concurrent: 27-360.

27-343 System Analysis and Design in Applications F(2-2)

Information analysis, data flow, system specifications, system analysis techniques. Design methodologies including design of interactive facilities. Introduction to application generators. Security systems, conversion and maintenance factors. Team project to be developed.

Prerequisites: 05-210 or 27-240.

27-346 System Simulation W(3-2)

Simulation model classification. Continuous and discrete languages. Process and transaction oriented systems. GPSS: entities, processing logic, chains, queue disciplines. Random number generators. Design and optimization of simulation applications and validation techniques.

Prerequisites: 27-360, (63-101 or 63-121), (89-204 or 89-206 or 89-212).

27-349 The Analysis and Design of Computer Algorithms W(3-1)

The design and analysis of efficient computer algorithms: standard methodologies, asymptotic behaviour, optimality, lower bounds, implementation considerations, graph algorithms, matrix computations (e.g. Strassen's method), NP-completeness.

Prerequisites: 27-190, 27-242, 63-215.

27-353 Data Base Systems and Concepts S,W(3-1)

Review of data organization and data management principles with the perspective of analyzing applications suitable for implementation using a DBMS. Analysis of several data base models, query specification methods, and query processing techniques. Overview of several related issues including concurrency control, security, integrity and recovery. Student's are expected to demonstrate concepts through project assignments.

Prerequisites: 27-343.
Concurrent: 27-360.

27-360 Programming Languages F(2-2)

Introduction to formal syntactic language specification. Ambiguity. Compilation vs interpretation. Sequence control. Data control. Storage management. Formal descriptions and their implementation of selected important language concepts.

Prerequisites: 27-240, 27-242.

27-405 Advanced Computer Architectures F(3-1)

Advanced topics in logic design. Hardware implementation. Virtual memory management. Arithmetic unit design and optimization. Advanced microprogramming. Nonsequential architectures. Architectures suitable for VLSI.

Prerequisites: 27-311, 27-312.

27-420 Computer Communication and Networks W(3-1)

Fundamental concepts of coding and information theory. Communication technology. Design and behaviour of long haul and local area computer networks, with special emphasis on protocols and packet switched networks.

Prerequisites: 27-311.

27-430 Human Computer Interaction F(2-2)

Methods for user interface software design, including interface representations and testing. Evaluation and design of sample application systems. Impacts of computer-based information systems on individuals and organizations. Implementation and testing tools. Planning of learning stages and design of assistance subsystems.

Prerequisites: 27-320, 27-360.

27-443 Information Organization and Retrieval W(3-1)

Information retrieval systems. Analysis of the structural components of information and database management systems. Performance of alternative storage structures and access methods for the efficient retrieval of information. The concepts discussed are applied in a course project.

Prerequisites: 27-311, 27-353.

27-444 Organization and Management of Computing Activities W(3-0)

Strategic planning of computing and data resources in an organization. System management, estimating techniques, and productivity issues. Project management, quality assurance, and configuration management.

Prerequisites: 27-320.

27-445 Special Topics in Information Science (3-1)

A variety of advanced topics mainly from areas within general information processing. Subject areas discussed in any particular semester will depend on the interests of the students and the instructor. Students should check with the Department of Computing and Information Science to determine what topic will be offered during specific semesters and which prerequisites, if any, are appropriate.

27-450 Special Topics in Computing Science (3-1)

A variety of advanced topics within Computing Science. Subject areas discussed in any particular semester will depend upon the interests of both the students and the instructor. Students should check with the Department of Computing and Information Science to determine what topic will be offered during specific semesters and which prerequisites, if any, are appropriate.

27-460 Elements of Theory of Computation F(3-0)

An introduction to finite automata, formal languages and sequential machines. Models of computation, including Turing machines and the hierarchy of machines/languages. Decidability and computability.

Prerequisites: 27-349, 27-360.

27-475 Artificial Intelligence F(3-1)

The following topics will be covered in some detail: heuristic search, A* algorithms, game searches, logic based knowledge representation. Other knowledge representation methods will be introduced, especially frames, scripts, semantic nets and models of uncertain reasoning. An introduction to expert systems. These ideas will be further explored through the development of a substantial project using A.I. software tools. Time permitting, topics such as perception, pattern recognition, natural language understanding etc. may be discussed.

Prerequisites: 27-360, 27-349, (89-204 or 89-206 or 89-212).

27-476 Computer Vision and Pattern Recognition W(3-0)

Image enhancement, image smoothing, thresholding, segmentation, region growing, decision-theoretical methods, information theory, neural networks, syntactic/structural methods, applications. Computer graphic experience expected.

Prerequisites: 27-311, 27-349, (89-204 or 89-212).

27-480 Computer Graphics F(3-1)

Introduction to computer graphics. Topics include graphics programming concepts, geometrical transformations, viewing 3-D projections, raster graphics, sculptured surfaces, hidden line removal, image processing and other special topics. Practical issues will be covered by assignment using currently available graphics equipment.

Prerequisites: 27-311, 27-360.

27-490 Computer Science Project S,F,W(0-6)

Planning, developing and writing a research proposal under individual faculty supervision. The course, in continuation with 27-491 provides senior undergraduates an opportunity to pursue an independent course of study. The topic selected will be determined by agreement between the student and the faculty member with expertise in the area.

Prerequisites: previous study related to the topic area and 30 course credits including at least 10 courses in computer science.

27-491 Computer Science Thesis S,F,W(0-6)

This course is a continuation of 27-490. The student will conduct and write an undergraduate thesis under the individual supervision of a faculty member. In addition the student is required to present his/her work in a seminar and also participate in the critical analysis and review of the work of other students taking this course.

Prerequisites: 27-490.

1996-97 Undergraduate Calendar
XII--Course Descriptions

[Previous] [Parent] [Next]

[Table of Contents] [Index] [Glossary]
[Courses by Subject] [Courses by Name] [Awards by Category] [Awards by Name] [Calendar Search]

Last revised: August 28, 1996. Contact: