University of Waterloo Undergraduate Catalog Report Faculty of Mathematics Page No. 1 Run Date 20-AUG-2007 Meeting Number(s) 25

Similar documents
Computer Science Student Advising Handout Idaho State University

The Timetable should be used to check the term and time a course is offered. Some courses may not be offered every year.

Academic and Curriculum Policies

Academic and Curriculum Policies

Department of Computer Science

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

COMP 250. Lecture 36 MISC. - beyond COMP final exam comments

Computer Science. Computer Science Undergraduate Bulletin. Required Support Courses (7 credits) ENG 271 Technical Communication (4)

COMPUTER SCIENCE AND ENGINEERING (CSEG)

DEPARTMENT OF COMPUTER SCIENCE

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.) WITH A CONCENTRATION IN CYBERSECURITY

COMPUTER SCIENCE, BACHELOR OF SCIENCE (B.S.)

COMPUTER SCIENCE (CSCI)

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives

MASTER OF SCIENCE IN COMPUTER AND INFORMATION SCIENCE

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE (NON-THESIS OPTION)

MASTER OF ENGINEERING PROGRAM IN INFORMATION

COMPUTER SCIENCE. Undergraduate Program Information. Graduate Program Information. Entrance Requirements for Graduate Study in Computer Science

Master Degree Program in Computer Science (CS)

Please consult the Department of Engineering about the Computer Engineering Emphasis.

CSE 1110; U 2.0; Distance Education; Exclusions: CSE 1111; U 3.0; Distance Education; Exclusions: GEC CSE 1112; U 3.0; Exclusions: CSE 1113; U 1.

Academic and Curriculum Policies

Computer Science (CS)

Computer Science & Engineering (CSE)

INFORMATION TECHNOLOGY (IT)

COMPUTER SCIENCE. Undergraduate Calendar Content Page 1 of 8

COMPUTER SCIENCE. Courses. Computer Science 1

Electrical Engineering and Computer Sciences (EECS)

UNB SAINT JOHN SENATE CURRICULUM COMMITTEE FACULTY CALENDAR SUBMISSION SUMMARY

Faculty of King Abdullah II School for Information Technology Department of Computer Science Study Plan Master's In Computer Science (Thesis Track)

Program Proposal for a Direct Converted Program. BS in COMPUTER SCIENCE

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE

Bachelor of Science in. Computer Science. Advising Brochure Department of. Computer Science & Engineering College of Arts & Sciences

UNIVERSITY OF SOUTH ALABAMA COMPUTER SCIENCE

Computer Science/Mathematics Curriculum Pepperdine University

Reading 1 : Introduction

INFORMATION TECHNOLOGY, BS

QuickGuide for SEAS CS Students (New Requirements Beginning Fall 2012)

CIS 120. Introduction to Programming

Department of Computer Science and Engineering

Computer Science. Computer Science 211. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

College of Arts and Letters Interdisciplinary Studies. Program Guide. Version 4 May Program Description and Course Requirements

CCCCS meeting October 31, Transferring Courses and Students

The University of Jordan. Accreditation & Quality Assurance Center. Curriculum for Doctorate Degree

Bachelor of Science Information Studies School of Information Program Summary

COMPUTER SCIENCE/INFORMATION SYSTEMS DEGREE PLAN

Systems I: Programming Abstractions

Department of Computer Science

PROGRAM OUTLINE. Information Technology with Co-op, System Programming. PROGRAM DESCRIPTION Concentration 1: DELIVERY METHODS PROGRAM DURATION

Multi-Paradigm Approach for Teaching Programming

computer science (CSCI)

Syllabi of the Comprehensive Examination in Computer Science

Cal Poly Catalog Computer Engineering Program CPE COMPUTER ENGINEERING Cal Poly Catalog

College of Sciences. College of Sciences. Master s of Science in Computer Sciences Master s of Science in Biotechnology

All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes

COMPUTER SCIENCE (CSC)

Software Development Fundamentals (SDF)

INFORMATION TECHNOLOGY (IT) Old Union Phone: (309) Web address: IT.IllinoisState.edu Director: Mary Elaine Califf.

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

X Prefix/suffix Course Learning Outcomes

AP COMPUTER SCIENCE A: SYLLABUS

COMPUTER SCIENCE (CS)

224 Computer Science. A.S. Degree Requirements. Department Offices. Faculty and Offices. Emeritus Faculty. Degrees and Certificates Awarded

Computer & Information Sciences

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

Model Curriculum for K-12 Computer Science: Draft Report of the ACM K-12 Task Force Curriculum Committee*

Computer & Information Sciences. Computer & Information Sciences Undergraduate Bulletin

ADMINISTRATIVE MANAGEMENT COLLEGE

CSC 210 COMPUTER SCIENCE II

COMPUTER SCIENCE. Mission and Vision. Other Requirements. Accreditation. Contact. General Guidelines Time of Admission to the Program

Java Programming. Zheng-Liang Lu. Java 308 Spring Department of Computer Science & Information Engineering National Taiwan University

AP Computer Science A (Java) Scope and Sequence

1.2 Degree Requirements

Programming Languages 2nd edition Tucker and Noonan"

Transition from One- to Two-Semester(s) of Fundamentals of Programming

AP Computer Science AB

LLparse and LRparse: Visual and Interactive Tools for Parsing

Ph.D. in Computer Science (

School of Computing and Information Sciences. Course Title: Data Structures Date: 3/30/2010 Course Number: COP 3530 Number of Credits: 3

GRADUATE CURRICULUM COMMITTEE REPORT

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Department of Computer Science

Imam Mohammad Ibn Saud Islamic University College of Computer and Information Sciences Department of Computer Sciences

Computer Programming II C++ (830)

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

First year courses and prerequisites Notes Previously offered ** See catalog for important notes.

Static Program Analysis

CONCENTRATIONS: HIGH-PERFORMANCE COMPUTING & BIOINFORMATICS CYBER-SECURITY & NETWORKING

Master & Doctor of Philosophy Programs in Computer Science

QuickGuide for CC, GS, and Barnard CS Students

AP Computer Science A: Java Programming

Graduate Student Orientation

Computer Science College of Science

Entertainment Computing (

COMPUTER SCIENCE. Computer Science 123

Static Program Analysis

Bachelor of Science in. Computer Science. Advising Brochure Department of. Computer Science & Engineering College of Arts & Sciences

Computer Sciences Department

SIR C R REDDY COLLEGE OF ENGINEERING

Bachelors in Computer Science Course Descriptions

Transcription:

Faculty of Mathematics Page No. 1 NEW COURSES (for approval) Computer Science - School of CS 137 ( 0.50 ) LAB, LEC, TST, TUT Programming Principles Review of fundamental programming concepts and their application. Procedures and parameter passing. Arrays and structures. Recursion. Sorting. Pointers and simple dynamic structures. Space and time analysis of designs. Design methodologies. [Offered: F] Prereq: Software Engineering students only To add new course. As of September 2008, Computer Science will no longer be offering CS 133 or CS 134, both of which are core courses in the SE program. The Software Engineering Curriculum Committee created a task force to consider the options available to SE and to make recommendations. As a result, CS will create two new courses: CS 137 and CS 138 which will replace CS 133 and CS 134 in the Software Engineering curriculum. Like the existing courses, the new courses cover fundamental computer science and programming concepts. The programming languages and content were selected to meet the specific needs of Software Engineering students, who are required to have experience in developing well-structured programs prior to admission, while providing the background assumed by second-year Computer Science courses. CS 138 ( 0.50 ) LAB, LEC, TST, TUT Functional Programming and Data Abstraction An introduction to software abstractions via elementary programming patterns and abstract data types. Syntax and semantics of a functional programming language. Recursive data definitions. Functional abstraction and encapsulation. Study of lists, stacks, queues, trees as abstract data types. Appropriate choice of abstract data types and their implementations. [Offered: W] Prereq: CS 137 To add new course. Rationale same as CS 137. COURSE CHANGES (for approval) CS 100 ( 0.50 ) LAB, LEC, TST Introduction to Computer Usage Introduction to using personal computer hardware and software. Using personal computers as effective problem solving tools for the present and the future. Experience with common application software including word processing, spreadsheets, database management, and electronic communications. Exposure to the Internet and World Wide Web. Programming principles to support the understanding of application

Faculty of Mathematics Page No. 2 software. [Offered: F,W,S] Prereq: Not open to Honours Mathematics students. Antireq: OAC Computer Science or 4M Computer and Information Science or any University of Waterloo Computer Science course, CHE 121, ECE 150, GENE 121, PHYS 239 Prereq: Not open to Mathematics students. Antireq: 4M Computer and Information Science or any University of Waterloo Computer Science course, CHE 121, ECE 150, GENE 121, PHYS 139 To change prerequisite and antirequisite. To change the prerequisite to exclude General Mathematics students. As currently written, this course counts towards a Mathematics Minor or Pure Mathematics Minor for students in other faculties, as this is a course that qualifies for a BMath degree. This change will close up that loophole. Science at May SUC advised us that the antirequisite of PHYS 239 should be changed to PHYS 139. Row on for September 1/08. CS 115 ( 0.50 ) LAB, LEC, TST, TUT Introduction to Computer Science 1 An introduction to the fundamentals of computer science through the application of elementary programming patterns in the functional style of programming. Function definition and application. Tracing via substitution. Design, testing, and documentation. Recursive data definitions. Lists and trees. Functional and data abstraction.[note: See Note 2 above. Also offered at St. Jerome's University in the Fall term. Offered: F,W,S] Also offered at St. Jerome's University Antireq: CS 120, 121, 122, 123, 125, 130, 131, 132, 133, 135, 137, 138, 145, CHE 121, CIVE 121, ECE 150, GENE 121, PHYS 139, SYDE 121 To change antirequisite. Result of new courses (CS 137/138). Row already on for September 1/07. CS 116 ( 0.50 ) LAB, LEC, TST, TUT Introduction to Computer Science 2 This course builds on the techniques and patterns learned in CS 115 while making the transition to use of an imperative language. Generative and structural recursion. Mutation (assignment) and its role in an imperative language. Primitive types and basic I/O. Sequencing, selection, looping. Function definition and use. File and console I/O. Issues in computer science. [Also offered at St. Jerome's University in the Winter term. Offered: F,W,S] Also offered at St. Jerome's University Prereq: CS 115 or 135. Antireq: CS 126/124/114, 134, 136, 137, 138, 145, 212 To change antirequisite. Result of new CS courses (CS 137/138). Row already on for September 1/07.

Faculty of Mathematics Page No. 3 CS 123 ( 0.50 ) LAB, LEC, PRA, TST Developing Programming Principles Review of fundamental programming concepts and their application in Java. Arrays of simple types. Objects: encapsulation, instantiation, declaration and use, exceptions. Practical programming: design and life-cycle issues. Arrays of objects. Libraries and interactive programming. [Offered: F] Only offered by Distance Education Prereq: CS 112 or Grade 11 or 12 or OAC Computer Science or 4M Computer and Information Science; Not open to Honours Mathematics students. Antireq: CS 113, 121, 122, 125, 130, 131, 132, 133, 135 Prereq: CS 112 or 4M Computer and Information Science; Not open to Honours Mathematics students. Antireq: CS 113, 121, 122, 125, 130, 131, 132, 133, 135, 137, 138, 145 To change antirequisite. Result of new CS courses (CS 137/138/145). CS 145 arppoved at June SUC. Row already on for September 1/07. CS 126 ( 0.50 ) LEC, PRA, TST Introduction to Software Development An introduction to basic concepts of computer science, including the paradigms of theory, abstraction, and design. Broad themes include the design and analysis of algorithms, the management of information, and the programming mechanisms and methodologies required in implementations. Topics discussed include iterative and recursive sorting algorithms; lists, stacks, queues, trees, and their application; and the history and philosophy of computer science. [Offered: F] Only offered by Distance Education Prereq: CS 122 or 123/113 or 125 or 132 or 133/130; Not open to Honours Mathematics students. Antireq: CS 124/114, 134, 136, 212 Prereq: CS 122 or 123/113 or 125 or 132 or 133/130; Not open to Honours Mathematics students. Antireq: CS 124/114, 134, 136, 137, 138, 145, 212 To change antirequisite. Result of new CS courses (CS 137/138/145). CS 145 approved at June SUC. Row already on for September 1/07. CS 135 ( 0.50 ) LAB, LEC, TST, TUT Designing Functional Programs An introduction to the fundamentals of computer science through the application of elementary programming patterns in the functional style of programming. Syntax and semantics of a functional programming language. Tracing via substitution. Design, testing, and documentation. Linear and nonlinear data structures. Recursive data definitions. Abstraction and encapsulation. Generative and structural recursion. Historical context. [Note: See Note 2 above. Offered: F,W,S] Prereq: Honours Mathematics students only. Antireq: CS 120, 121, 122, 123, 125, 130, 131, 132, 133, 134, CHE 121, CIVE 121, ECE 150, GENE 121, PHYS

Faculty of Mathematics Page No. 4 239, SYDE 121 Antireq: CS 115, 120, 121, 122, 123, 125, 130, 131, 132, 133, 134, 137, 138, 145, CHE 121, CIVE 121, ECE 150, GENE 121, PHYS 239, SYDE 121 To change antirequisite. Result of new CS courses (CS 137/138). Row already on for September 1/07. CS 136 ( 0.50 ) LAB, LEC, TST, TUT Elementary Algorithm Design and Data Abstraction This course builds on the techniques and patterns learned in CS 135 while making the transition to use of an imperative language. It introduces the design and analysis of algorithms, the management of information, and the programming mechanisms and methodologies required in implementations. Topics discussed include iterative and recursive sorting algorithms; lists, stacks, queues, trees, and their application; abstract data types and their implementations. [Note: See Note 2 above. Offered: F,W,S] Prereq: CS 135; Honours Mathematics students only. Antireq: CS 134 Prereq: CS 116 or a mark of at least 60 in CS 135. Antireq: CS 134, 137, 138, 145 To change antirequisite. Result of new CS courses (CS 137/138). Row already on for September 1/07. CS 145 ( 0.50 ) LAB, LEC, TST, TUT Design, Abstraction, and Implementation CS 145 is an advanced-level course that combines CS 135 and 136. [Note: See Note 2 above. Offered: F] Department Consent Required Antireq: CS 134, 136, 137, 138 To change antirequisite. Result of new courses CS 137/138. Row already on for September 1/07. CS 230 ( 0.50 ) LAB, LEC, TST, TUT Introduction to Computers and Computer Systems Basic computer architecture, operating system services, and programming languages in support of development of software systems. [Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: W] Prereq: CS 126/124/114 or 134 or 136; Not open to Computer Science students. Antireq: CS 241 Prereq: CS 126/124/114 or 116 or 134 or 136 or 138 or 145; Not open to Computer Science students. Antireq: CS 241 To change prerequisite. Result of new course CS 138 and new courses (CS 116/145) which were approved at June SUC.

Faculty of Mathematics Page No. 5 CS 234 ( 0.50 ) LAB, LEC, TST Data Types and Structures Top-down design of data structures. Using representation-independent data types. Introduction to commonly used data types, including lists, sets, mappings, and trees. Selection of data representation. [Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,S] Prereq: CS 126/124/114 or 134 or 136; Not open to Computer Science students. Antireq: CS 240, 334 Prereq: CS 126/124/114 or 116 or 134 or 136 or 138 or 145; Not open to Computer Science students. Antireq: CS 240, 334 To change prerequisite. Result of new course CS 138 and new courses (CS 116/145) which were approved at June SUC. CS 241 ( 0.50 ) LAB, LEC, TST, TUT Foundations of Sequential Programs The relationship between high-level languages and the computer architecture that underlies their implementation, including basic machine architecture, assemblers, specification and translation of programming languages, linkers and loaders, block-structured languages, parameter passing mechanisms, and comparison of programming languages. [Note: Enrolment is restricted; see Note 1 above. Lab is not scheduled and students are expected to find time in open hours to complete their work. CS 251 is a recommended corequisite. Offered: F,W,S] Prereq: CS 134 or 136; Honours Mathematics or Software Engineering students only. Antireq: CS 230, GENE 344 Prereq: CS 134 or 145 or a mark of 60 or higher in 136 or 138; Honours Mathematics or Software Engineering students only. Antireq: CS 230, GENE 344 To change prerequisite. Result of new course CS 138. Row already on for September 1/07. CS 245 ( 0.50 ) LEC, TST, TUT Logic and Computation Formal logic. Proof systems and styles. Rudimentary model theory. Logic-based specification. Reasoning about programs. Correctness proofs. [Note: Enrolment is restricted; see Note 1 above. Offered: F,W,S] Prereq: CS 134 or 136; Computer Science students only. Antireq: PMATH 330, SE 112 Prereq: CS 134 or 136 or 138 or 145; Computer Science students only. Antireq: PMATH 330, SE 112 To change prerequisite. Result of new course CS 138. Row already on for September 1/07.

Faculty of Mathematics Page No. 6 CS 251 ( 0.50 ) LAB, LEC, TST Computer Organization and Design Overview of computer organization and performance. Basics of digital logic design. Combinational and sequential elements. Data representation and manipulation. Basics of processor design. Pipelining. Memory hierarchies. Multiprocessors. [Note: Students enrolled in CS/DHW should enrol in ECE 222. Enrolment is restricted; see Note 1 above. Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,W,S] Prereq: CS 134 or 136; Computer Science students only. Antireq: ECE 222, PHYS 353, SE 141 Prereq: CS 134 or 136 or 138 or 145; Computer Science students only. Antireq: ECE 222, PHYS 353, SE 141 To change prerequisite. Result of new course CS 138. Row already on for September 1/07. CS 330 ( 0.50 ) LEC Management Information Systems An introduction to information systems and their strategic role in business. Topics include types of information systems, organizational requirements, systems development strategies, decision support systems, data and information management, and information systems management, control and implementation. [Offered: F,W,S] Prereq: CS 126/124/114 or 134 or 136; Level at least 2B; Not open to Computer Science students. Antireq: AFM/ACC 241, CS 480/490, MSCI 441 Prereq: CS 126/124/114 or 116 or 134 or 136 or 138 or 145; Level at least 2B; Not open to Computer Science students. Antireq: AFM 241, CS 480/490, MSCI 441 To change prerequisite and delete reference to ACC 241 in antirequisite. Result of new course (CS 138) and new courses (CS 116/145) that were approved at June SUC. CS 360 ( 0.50 ) LEC Introduction to the Theory of Computing Models of computers including finite automata and Turing machines. Basics of formal languages with applications to the syntax of programming languages. Alternate characterizations of language classes. Proving unrecognizability. Unsolvable problems and their relevance to the semantics of programming. [Note: Enrolment is restricted; see Note 1 above. Offered: F,W,S] Prereq: (CS 240 or SE 240), CS 241, (MATH 239/249 or CO 103); Computer Science students only. Antireq: CS 365 Prereq: (CS 240 or SE 240), CS 241, (CS 245 or SE 112), (MATH 239/249 or CO 103); Computer Science students only. Antireq: CS 365 To change prerequisite. Since the content of CS 245 or SE 112 is required for mastering this course.

Faculty of Mathematics Page No. 7 CS 365 ( 0.50 ) LAB, LEC Models of Computation Finite automata and regular expressions. Pushdown automata and context-free grammars. Turing machines and undecidability. Time and space complexity. Diagonalization and hierarchies. CS 365 covers the material in CS 360 at an accelerated pace plus additional topics in computational complexity. [Note: CS 365 may be substituted for CS 360 in any degree plan or for prerequisite purposes; enrolment is restricted; see Note 1 above. Offered: W] Prereq: CS 240, 241, MATH 239/249; Computer Science students only. Antireq: CS 360 Prereq: CS 240, 241, 245, MATH 239/249; Computer Science students only. Antireq: CS 360 To change prerequisite. The content of CS 245 is required for mastering this course. CS 486 ( 0.50 ) LAB, LEC Introduction to Artificial Intelligence Goals and methods of artificial intelligence. Methods of general problem solving. Introduction to mathematical logic. Mechanical theorem proving. Game playing. Natural language processing. [Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,W,S] Description Change: Prereq: (CS 341/CM 339 or SE 240) and (CS 350 or 354 or ECE 354); Computer Science students only. Coreq: STAT 206 or 231/241. Antireq: ECE 457 Goals and methods of artificial intelligence. Methods of general problem solving. Knowledge representation and reasoning. Planning. Reasoning about uncertainty. Machine learning. Multi-agent systems. Natural language processing. [Note: Lab is not scheduled and students are expected to find time in open hours to complete their work. Offered: F,W,S] Prereq: CS 341/CM 339 or SE 240; Computer Science students only. Coreq: STAT 206 or 231/241. Antireq: ECE 457 To change course description and prerequisite. The calendar description for the course has become badly out of date. The new description reflects what is currently being taught in the course across all sections and instructors. The prerequisite of (CS 350/354 or ECE 354) is a maturity prerequisite, no material taught in CS 350 is actually used in CS 486. The instructors feel that the prerequisite of (CS 341/CM 339 or SE 240), which is a true prerequisite, already accomplishes this goal. The CS 350 prerequisite unnecessarily restricts student choice of when to take AI without any corresponding benefit. End of Report