On to Co-operative Programmes
Up to Index
Search the Calendar

(B.Sc.)
Discipline Representative: W.H. Enright (287-7208)
Computer science is the study of the use of computers to process information. The form of this information may vary widely, from the business person's records or the scientist's experimental results to the linguist's texts. One of the fundamental concepts in computer science is the algorithm - a list of instructions that specify the steps required to solve a problem. Computer science is concerned with producing correct, efficient, and maintainable algorithms for a wide variety of applications. Closely related is the development of tools to foster these goals: programming languages for expressing algorithms; operating systems to manage the resources of a computer; and various mathematical and statistical techniques to study the correctness and efficiency of algorithms.
Theoretical computer science is also concerned with the inherent difficulty of problems that can make them intractable by computers. Numerical analysis, data management systems, computer graphics, and artificial intelligence are concerned with the applications of computers to specific problem areas.
The Specialist Programme in Computer Science prepares
a student for graduate study and for a professional position in
the computer field.
Limited Enrolment: Because of pressures of demand
for places, it has been necessary to place enrolment limits on
most CSC courses and on admission to the Major and Specialist
programmes. Information on how to apply for admission to a Programme
is given below.
Please refer to the
Physical
Sciences Scarborough preamble on page 139 for a list of the Programmes
offered. Descriptions of these programmes will be found on subsequent
pages of this section.
Admission to the Programme
Each year, 80 students are admitted to the six streams of the Specialist Programme in addition to those admitted to the Specialist Co-operative Programme. There are three possible ways to be admitted:
Up to 40 students will be admitted directly from
high school on the basis of academic performance. Applicants must
have completed OAC Calculus, OAC Algebra and Geometry.
Applicants must have completed ALL the courses in
the first year of their stream(s) of the Specialist Programme.
Students applying for admission on completion of their first year
(at least 4 F.C.E.'s) will be evaluated on the basis of their
1st year GPA and their marks in Computer Science and
Mathematics courses. The minimum GPA is calculated annually. It
is never less than 2.00 and for 2000 will not be greater than
2.80
Admission of students during or after second year will also be on the basis of the grades they have received in Computer Science and Mathematics courses.
Students applying at the end of their first year
or later will be considered together for a total of approximately
40 places in the Specialist Programme. As noted above, a GPA of
2.80 and above will guarantee acceptance (provided the required
first year computer science and calculus courses have been satisfactorily
completed).
In order to remain in the programme, a student must
maintain a cumulative GPA of 2.0 or higher throughout the programme.
Common 1st Year Core for All Streams of the Programme
The following courses are common to all streams of
the Programme and should be taken in the 1st Year.
Students should note that the Information Systems Stream and Joint
Physics Stream have an additional 1st Year requirement.
CSCA06H Introduction to Computer Programming
CSCA58H Introduction to Computer Science
MATA23H Linear Algebra I
MATA26Y Calculus
STAB22H Statistics
Supervisor: G. Cupit (287-7253)
MATB42H Techniques of the Calculus of Several Variables II
Two of:
[MATC01H (MATB31H), MATB43H, MATC15H (MATB70H), MATB44H, MATC34H, PSCB20H]
Students intending to proceed to graduate school
in Computer Science are advised to take MATB43H.
STAB47H Introduction to Probability Theory and Mathematical
Statistics
CSCC24H Principles of Programming Languages
CSCC64H Computational Complexity and Computability
CSCC78H Data Structure and Algorithm Analysis
CSCB09H Methods and Tools for Software Development
CSCC50H Numerical Algebra and Optimization
CSCC51H Numerical Approximation, Integration and Ordinary Differential Equations
CSCC85H Microprocessors
one of:
[CSCC54H, CSCC40H, CSC372H, CSCD08H, CSCD18H, CSC428H,
CSCD34H, CSC454H, CSCD58H, CSC468H, CSC484H, CSC485H, CSC488H,
ECE489H]
one of:
[CSC438H, CSC446H, CSC448H, CSC456H, CSC465H, CSC478H,
MATB61H, MATC32H, MATC44H]
PSCD03H Computers in Contemporary Society
2. Information Systems Stream
Supervisor: G. Cupit (287-7253)
NOTE:
Due to enrolment restrictions in required Management courses,
registration in this stream is limited. A maximum of 20 students
will be admitted annually to the second year of the programme.
Selection will be based on grades in the course specified for
the first year of the programme with a minimum GPA of 2.5. There
are 14.5 F.C.E. required for this stream. The courses may be taken
in an order different from that listed below, but care must be
taken to ensure that prerequisites are satisfied and conflicts
avoided.
MGTA02Y Introduction to Management
MATB42H Techniques of the Calculus of Several Variables II
MGTB23H Managing People in Organizations
STAB47H Introduction to Probability Theory and Mathematical
Statistics
CSCC24H Principles of Programming Languages
CSCC40H Information Systems Analysis and Design
CSCC78H Data Structures and Algorithm Analysis
[Either
CSCC50H Numerical Algebra and Optimization
or
CSCC54H Systems Modeling and Discrete Simulation]
MGTB29H* Managing Groups and Organizations
* The prerequisite of MGTB24H is waived for students
in this Programme.
CSCB09H Methods and Tools for Software Development
CSCD08H Software Engineering
CSCD34H Data Management Systems
At least one of:
[MGTC75H Operations Management: A Mathematical Approach**
MGTC74H Analysis for Decision Making**
CSC454H The Business of Software***]
Two of: CSC372H, CSCC85H, CSCD58H, CSC465H, CSC468H,
CSC484H, CSC485H, CSC488H]
PSCD03H Computers in Contemporary Society
** Students in this Programme may substitute MATB41H,
CSCC50H or CSCC54H or CSC354H and STAB47H for the stated prerequisites.
*** This course is offered only in alternate years
and enrollment is restricted.
Note that 300-series and 400-series must be completed at the St. George Campus. Consult the Department of Computer Science
3. Joint Mathematics Stream
Supervisor: G. Cupit (287-7253)
This stream offers a broadly based education in Computer
Science and Mathematics. It prepares a student for a professional
position in the computer field and is appropriate for students
who wish to pursue a career in teaching or in government or industry.
It can also lead to graduate study. The courses may be taken in
a different order or year from those listed below, but care must
be taken to ensure that prerequisites are satisfied and conflicts
avoided.
MATB42H Techniques of the Calculus of Several Variables II
MATB43H Introduction to Analysis
STAB47H Introduction to Probability Theory and Mathematical
Statistics
MATC01H Groups and Symmetry
MATC02H Fields and Groups
One other 0.5 F.C.E. in Mathematics
one of:
two of:
one of:
One other 0.5 F.C.E. in CSC at the B-level or higher.
[Either
PSCD02H Current Questions in Mathematics and Science
or
PSCD03H Computers in Contemporary Society]
4. Joint Physics Stream
Supervisor: C.C. Dyer (287-7206)
This stream provides a broadly based education in
Computer Science and Physics. It prepares a student for a professional
position in the computer field and is appropriate for students
who may wish to pursue a career in teaching or in government or
industry. The courses may be taken in a different order or year
from those listed below, but care must be taken to ensure that
prerequisites are satisfied and conflicts avoided.
PHYA21H Principles of Modern Physics
MATB42H Techniques of the Calculus of Several Variables II
STAB47H Introduction to Probability Theory and Mathematical
Statistics
CSCC51H Numerical Approximation, Integration and Ordinary Differential Equations
CSCC64H Computational Complexity and Computability
One F.C.E. in PHY from PHYB24H or the 300-level or
higher level PHY courses on the St. George Campus
[Either
PSCD02H Current Questions in Mathematics & Science
or
PSCD03H Computers in Contemporary Society]
5. Joint Statistics Stream
Supervisor: M. Evans (287-7274)
This stream provides a student with the computational
and statistical background required in many applications of these
fields. The programme prepares students for employment opportunities
in business, government and education and for graduate study.
The courses may be taken in a different order or year from those
listed below, but care must be taken to ensure that prerequisites
are satisfied and conflicts avoided.
MATB42H Techniques of the Calculus of Several Variables II
STAB47H Introduction to Probability Theory and Mathematical
Statistics
0.5 F.C.E. from:
[MATB61H, MATC01H, MATB43H, MATC15H, MATB44H, MATC34H, PSCB20H]
Students intending to proceed to graduate school in Computer Science are advised to take MATB43H.
CSCC24H Principles of Programming Languages
CSCC64H Computational Complexity and Computability
CSCC78H Data Structures and Algorithm Analysis
1.0 F.C.E. from MATC61H and C-level STA courses and
300- and 400-level STA courses on the St. George campus.
CSCC50H Numerical Algebra and Optimization
CSCC51H Numerical Approximation, Integration and
Ordinary Differential Equations
1.0 F.C.E. from MATC61H and C-level STA courses and
300- and 400-level STA courses on the St. George campus.
Either
PSCD02H Current Questions in Mathematics and Science
or
PSCD03H Computers in Contemporary Society
6. Software Engineering Stream
Supervisor: G. Cupit (287-7253)
Software engineering is concerned with the timely
and cost-effective development of quality software. This programme
leads to employment opportunities in software development and
to graduate study in computer science. The courses may be taken
in a different order or year from those listed below, but care
must be taken to ensure that prerequisites are satisfied and conflicts
avoided.
MATB42H Techniques of the Calculus of Several Variables II
STAB47H Introduction to Probability Theory and Mathematical Statistics
CSCB09H Methods and Tools for Software Development
One of:
[CSCD58H, CSC468H, CSC488H]
One other 0.5 F.C.E. in CSC at B-level or higher
PSCD03H Computers in Contemporary Society
NOTE:
300-series and 400-series must be completed at the St. George
campus. Consult the Department of Computer Science Undergraduate
Co-ordinator: Y. Ali (287-7254)
Supervisor of Studies: C.C. Dyer (287-7206)
The Co-operative Programme in Computer Science is a work-study programme which combines academic studies in computer science, and other disciplines in the physical sciences with work placements in public and private enterprises. Two work terms must be completed along with the academic programme. An optional third work term may be included, with permission of the Co-ordinator.
The programme prepares students for permanent employment with government and business enterprises concerned with research and technology as well as for graduate study in computer science. Graduates receive a four-year Honours B.Sc. with a specialist certification in Computer Science.
The Co-operative Programme can be taken in conjunction with any of the streams in the Specialist Programme in Computer Science.
Applicants may apply to the programme directly from secondary school or may apply as transfer students from college or university. The timing of work placements for students who receive transfer credit will depend upon the particular university courses completed. Applicants must indicate the special code for this University of Toronto at Scarborough programme on the application for Admission to an Ontario University. Once the University of Toronto is notified of the application, candidates are sent an additional co-op application form to complete. To be considered for the first round of selection, applicants must return the co-op application by the following deadlines. Current OAC applicants March 1; Applicants who applied on the 105 form April 1. Therefore it is essential that applicants submit the initial OUAC application at least six weeks prior to these dates.
Note that enrolment in the programme is limited.
Admission is granted on the basis of the applicant's academic
performance, background or experience in relevant subjects and
a letter of reference from a high school or university instructor
in mathematics or science.
Every student in a co-operative programme is required
to pay additional fees as established by the University.
This programme requires twenty F.C.E.'s (four years) of study and two work terms of four months each. Exceptionally, with the agreement of the co-ordinator, a third work term may be allowed. To be eligible for their first work term students must have completed at least 10 credits. Work placement opportunities are arranged by the Physical Sciences Division, but must be won by students in competition with all applicants for the position.
Performance on work terms will be evaluated by both employer and co-ordinator. Students must also submit a report for each work term for evaluation (including a third work term if taken).
To maintain standing in the programme, to be eligible for a work term, and to receive specialist certification upon graduation a student must
- receive a satisfactory evaluation for work term performance and work term reports
For Programme outlines, please
refer to the description of the Specialist Programme in Computer
Science. Note
that courses need not be taken in exactly the indicated order,
but if an alternative ordering is adopted, care must be taken
to ensure that prerequisites are satisfied and conflicts avoided.
EACH STUDENT'S PROGRAMME REQUIRES THE ANNUAL APPROVAL
OF THE SUPERVISOR OF STUDIES.
NOTE: STUDENTS
ARE INDIVIDUALLY RESPONSIBLE TO ENSURE THAT THEY HAVE CORRECTLY
COMPLETED PROGRAMME AND DEGREE REQUIREMENTS FOR GRADUATION.
During their first year, students will participate in a co-op tutorial. This is designed to prepare students for their work term experience and is crucial for ensuring that students get the most benefit from their co-op placement learning opportunities. The tutorial will cover a variety of topics that will help students to develop the skills and tools they require to secure placements that best match their interests. Students will gain insights into trends in the industry as well as research opportunities. The tutorial will consist of presentations, hands on activities and group exercises. This tutorial is in addition to the 20 full-course degree requirement. There are no additional fees associated with this tutorial.
Satisfactory participation in the tutorial is required
before students go on work terms.
Work terms are an integral part of the co-op curriculum.
Practical work experience in a related field is alternated with
study terms to enhance academic studies and develop professional
and personal skills. Work term reports are required at the completion
of each work term. Continuation in a co-op programme is based
on a student's ability to meet both the academic and work term
requirements. To be eligible for work terms, students must be
in good standing in the programme and must have completed at least
10 F.C.E.'s. Course credit of 0.5 F.C.E. is granted for each four
month work period. Work term credits are in addition to the 20
full-course degree requirements and are graded on a Credit, No
Credit system. There are no additional course fees for work terms.
Supervisor: G. Cupit (287-7253)
NOTE:
Registration in this Programme is limited. A maximum of 30 students
will be admitted annually to the second year of the Programme.
Selection will be based on the first year GPA and marks in first-year
courses in Computer Science and Mathematics. The minimum GPA is
calculated annually. It is never less than 2.00 and for 2000 will
not be greater than 2.80.
Eight F.C.E.'s are required. The courses need not
be taken in the order given, but care must be taken to ensure
that prerequisites are satisfied and conflicts avoided.
MATB42H Techniques of the Calculus of Several Variables
II
Four half-courses to be chosen from the following
options:
While only a few of the computer science courses
have formally scheduled laboratory components (e.g. CSCB58H and
CSCC85H), most CSC courses will require an average of 4-6 hours
of laboratory work a week (in one of the CSC labs) to complete
the programming assignments associated with the course. The CSC
labs are open on an extended schedule and students are encouraged
to use these facilities at any time that is convenient to them.
An introduction to computers and how to use them.
This course includes a study of system operations (commands, files, security), common applications (data bases, word processing, spreadsheets) and problem solving (basic programming concepts). Other applications and topics include: data organization, communications, office automation, electronic mail, and internet tools. Students will do a little programming, but the aim of the course is to show how computers are used, not to teach programming. Primarily for non-science students, but may be followed by other CSC courses.
Two hours of lectures per week, two hours of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: SMC104H; VIC104H. This course may not
be taken after or concurrently with any other CSC course.
An introduction to basic concepts and terminology.
Introduction to programming using the JAVA language: Conditional statements and loops; arrays and records; operations on strings and numbers; subprograms. Data and program structuring.
This course is intended for students with no prior exposure to computer programming. Students who have sufficient programming experience may enroll directly in CSCA58; consult the instructor or the supervisor of studies for guidance and for a copy of the information sheet "Can I skip Computer Science A06?"
Two hours of lectures per week, two hours of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSCA56H, CSCA57H, CSCA58H, CSC108H, CSC148H
Prerequisite: Grade 12 mathematics
NOTE:
You may take CSCA58H after CSCA06H but you may not take CSCA06H
after or concurrently with CSCA58H.
An introduction to the use of computers in the physical and biological sciences. Choice and design of algorithms and their implementation in a high-level computer language, such as C or FORTRAN, for the solution of problems arising in the physical and biological sciences. Topics will include elementary numerical analysis, such as numerical integration, mathematical modeling of physical systems, data fitting and interpolation. The use of database systems for information storage and query and the use of graphical display devices and software for visualization of physical systems will be considered. The use of computer algebra systems will also be considered. (Intended primarily for physical and biological science students who do not plan to pursue any of the programmes in computer science or cognitive science.)
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusions: CSCA58H, CSC148H
Co-requisite: [MATA26Y or MATA29Y with permission
of the instructor] & one A-level science course
Abstract data types and data structures for implementing them. Linked data structures. Encapsulation and information-hiding. Object-oriented programming in a language such as Java. Specifications. Analyzing the correctness and efficiency of programs using mathematical reasoning. Recursion. Recurrence relations for analyzing the efficiency of recursive code. This course assumes programming experience in an object-oriented language such as C++ or Java, as provided by CSCA06H. Students who already have this background may consult the Instructor or Supervisor of Studies for advice about skipping CSCA06H. Students who enroll in CSCA58H and find the course too difficult may "drop down" to CSCA06H in terms when CSCA06H is offered. The deadline for "dropping down" is the end of the fifth week of classes.
Two hours of lectures per week, two hours of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSCA57H, CSC148H
Prerequisite: CSCA06H and two OAC mathematics courses
Techniques for programming efficiently by making use of operating-system facilities and standard utilities and software tools. Tools discussed and used are from the UNIX environment using the C programming language. Topics from: Programmable command interpreters ("shells"), Program generators, networking, interprocess communication, windows programming, challenging assignments emphasize the importance of good design, programming aptitude and use of appropriate tools.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Prerequisite: CSCA58H, CSCB70H or proficiency in C
An introduction to techniques for storing, accessing, and managing long-term data in computer systems. Hardware and software aspects of data processing: processors, storage devices, communications, file I/O control. Techniques for organizing and managing files: serial files, direct files, indexed files, multikey files, integrated files, file systems. Introduction to data base management systems with emphasis on relational data base systems.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC228H
Prerequisite: CSCB70H
A rigorous treatment of certain aspects of discrete mathematics, with applications to Computer Science. Topics include mathematical induction, program correctness, recurrences, divide-and-conquer algorithms, finite state machines, and an introduction to the propositional and predicate calculus.
Two hours of lecture per week and one hour of tutorial per week.
Exclusion: CSC238H
Prerequisite: CSCA58H
This course is designed to give students an understanding of the operation and the hardware of a modern digital computer.
Specific topics include: an introduction to Boolean algebra, the design and analysis of gate networks, memory devices, the organization of a simple microprogrammed machine, basic data representation, assembly language, addressing structures, mechanisms for input and output, the structure of peripheral devices, some case studies of particular machines. There will be four laboratory periods in which students will conduct experiments with digital logic circuits.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC258H
Prerequisite: CSCA58H or CSCA57H
Standard programming methods, with an introduction to C and C++. Use of classes to represent abstract data types, graph representation and graph algorithms. Simulation: Data structures and program organization for event-driven models. Representation of floating-point numbers; Introduction to numerical methods, optimization using dynamic programming. Throughout the course, programming assignments stress both the proper use of abstract data types (lists, stacks, trees, heaps) and approaches to writing larger, more complex programs.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Prerequisite: CSCA58H
Pre or co-requisite: MATA26Y
Alternate paradigms for programming, illustrated by particular programming languages. Students already familiar with the procedural approach of languages such as Turing, PASCAL or C will learn about functional programming (illustrated by Lisp or Scheme)and logic programming (illustrated by Prolog). Additional topics in principles of programming languages.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC324H
Prerequisite: CSCB38H [strongly recommended: CSCB58H]
Theory, tools and techniques of information systems analysis and design. Topics include: theory of systems and organizations (organization theory, systems life-cycle, role of the systems analyst); information system analysis (data collection, requirements analysis, structured analysis, system modeling, cost-benefit analysis); information system design (structured design, top-down development, file and database design); information system implementation (project management, documentation, acceptance testing, hardware and software evaluation and acquisition); and user interface design.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC340H
Prerequisite: CSCB28H
The efficiency and stability of solution techniques for systems of linear equations and least squares problems, including LU- and QR-based methods. Algorithms for optimization problems, including linear programming, and for systems of nonlinear equations.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC336H, CSC350H
Prerequisite: [CSCA57H or CSCB70H] & MATB24H
& MATB42H
Analysis of methods for approximation, integration, and the solution of ordinary differential equations. Emphasis on the convergence and stability properties of the algorithms, rather than on their implementation.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: ACT323H, CSC336H, CSC351H
Prerequisite: CSCC50H
Constructing and using models of complex systems. Representing models as simulation programs for computers. Implementing simulation models using such simulation languages as GPSS and DYNAMO. Methods of generating uniformly distributed pseudo-random numbers and stochastic random variates with specific distributions. Validation of simulation models by statistical analysis. Case studies of some applications of computer-based simulation.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC354H
Prerequisite: CSCB70H (CSCA68H & STAB47H)
Measuring algorithm performance. Techniques of efficient algorithm design: divide and conquer, greedy method, dynamic programming, graph traversal, change of representation. Introduction to complexity theory: models of computation, P, NP, polynomial time reduction, NP-completeness. Introduction to the theory of computation: Church's thesis, computable and uncomputable functions, recursive and recursively enumerable sets, universality, many-one reduction.
Two hours of lecture per week and one hour of tutorial per week.
Exclusion: CSC364H
Prerequisite: CSCB38H
Abstract data types such as priority queues and dictionaries. Advanced data structures for main memory resident information, such as binomial heaps, leftist trees, self-adjusting lists and balanced search trees. Algorithm analysis: worst case, average case, and amortized complexity. Introduction to lower bounds. Emphasis is given to problem solving and a theoretical treatment of the data structures.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC378H
Prerequisite: CSCB70H & CSCB38H & STAB47H
A study of hardware and software aspects of microcomputers and microprocessors.
This course will examine instruction sets, addressing modes, memory devices, bus structures. Input/output and interrupt mechanisms. Assembly language and high-level language programming. System and applications software. Laboratory experiments will provide hands-on experience.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Enrolment limit: 55
Exclusion: ECE385H
Prerequisite: CSCB58H
The structure and unique characteristics of large software systems. Concepts and techniques in the design and implementation of large software systems. Requirements definition and specification. Software modularity and programming languages for system implementation. Debugging, testing and software quality assurance. Software project management. Formal methods in software engineering. A course project is used to illustrate software engineering techniques.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC408H
Prerequisites: CSCC40H & CSCC78H & [CSCB09H
or proficiency in C]
Identification and characterization of the objects manipulated in computer graphics, the operations possible on these objects, efficient algorithms to perform these operations, and interfaces to transform one type of object to another. Display devices, display data structures and procedures, graphical input, object modeling, transformations, illumination models, primary and secondary light effects; graphics packages and systems. Students, individually or in teams, will implement graphical algorithms or entire graphics systems.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC418H
Prerequisite: MATB24H & CSCB70H, [CSCC50H or
CSCC51H]
Concepts, approaches, and techniques in data base management systems (DBMS): data and information management; logical models of data bases: relational, network, and hierarchical DBMS's; operational requirements; implementation considerations; DBMS architecture; data base design.
Other topics: query optimization, concurrency control, distributed systems.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC434H
Prerequisite: CSCB28H, CSCC78H
Computer communication network principles and practice.
The OSI protocol-layer model; Internet application layer and naming; transport layer and congestion avoidance; network layer and routing; link layer with local area networks, connection-oriented protocols and error detection and recovery; multimedia networking with quality of service and multicasting.
Principles in the context of the working-code model implemented in the Internet.
Two hours of lecture per week, one hour of tutorial per week and four to five hours of laboratory work (on average) per week.
Exclusion: CSC458H
Prerequisites: CSCB58H & [CSCC54H or CSCC64H
or CSCC78H or CSCC85H] & STAB47H
This half-course involves a significant project in any area of computer science. The project may be undertaken individually or in small groups. The course is offered by arrangement with a computer science faculty member, at Scarborough or the St. George campus.
This course is intended for students specializing in computer science. It can be taken as an F or S course in a single term, or as an H course spread over an entire winter or summer session. Projects must be completed by the last day of classes in the term or session the course is taken.
Students are advised that they must obtain consent from the supervisor of studies before registering for this course.
Exclusion: CSC494H
Prerequisite: [Three C-level computer science half- courses] & [a GPA of 2.50] & [permission of the programme supervisor].
Enrolment procedures: Project supervisor's note of
agreement to be presented to the programme supervisor by whom
special permission will be issued for registration.
Same description as CSCD94H. Normally a student may not take two project half-courses on closely related topics or with the same supervisor.
If an exception is made allowing a second project on a topic closely related to the topic of an earlier project, higher standards will be applied in judging it. We expect that a student with the experience of a first project completed will be able to perform almost at the level of a graduate student.
Students are advised that they must obtain consent from the supervisor of studies before registering for this course.
Exclusion: CSC495H
Full Listing of Courses Not Offered
On to Co-operative Programmes
Up to Index
Search the Calendar