Computing Science
| COMP 101 | Computers and their Application | |
| 3.00 credits | (3,0,1) hrs | 15 wks |
| Prerequisite: Applications of Math 11 or Principles of Math 11 or MATH 091 or BMTH 044 or Math Placement Test (MPT) | ||
| An introduction to the basic concepts of computer hardware and software, operating systems, applications software and programming, and a study of some of the social and ethical implications of the increasing use of computers. Students will gain experience with a microcomputer operating system, various software packages including word processor and spreadsheet, and an interpreted programming language environment. Students will be introduced to the Internet, Web searching techniques and Web page development. The course also includes an introduction to problem solving, algorithm design and computer programming. This course serves as a good science option for students in Arts or Commerce. | ||
| Note: Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and to have some familiarity with the use of computers running Microsoft Windows. | ||
| COMP 106 | Programming with Robots | |
| 4.00 credits | (4,2,0) hrs | 15 wks |
| Prerequisite: Applications of Math 11 or Principles of Math 11 or MATH 091 or BMTH 044 or a Math Placement Test (MPT) | ||
| An introduction to the basic concepts of hardware, software, and computer programming using Lego Mindstorms robots. In addition to fundamental programming concepts, students will also be exposed to a variety of topics in computer science, including robotics, hardware, operating systems, communication and social issues. | ||
| Note: Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and to some familiarity with microcomputers running MS Windows. | ||
| Note: This course serves as a good science elective for non-computing majors, or as a preparatory course for COMP 120 or COMP 121. | ||
| COMP 107 | Animated 3D Game Programming | |
| 4.00 credits | (4,2,0) hrs | 15 wks |
| Prerequisite: Applications of Math 11 or Principles of Math 11 or Math 091 or BMTH 044 or Math Placement Test | ||
| An introduction to game development and programming in a 3D animation environment. This includes computer program design, implementation and testing in a high-level, object-oriented programming language. The course also exposes students to problem solving, algorithms, event-driven programming, the building of 3D animated games, the use of application programming interfaces (APIs), and graphics. | ||
| Note: Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and some familiarity with microcomputers running MS Windows. | ||
| COMP 108 | Software Applications and Their Customization | |
| 4.00 credits | (3,2,0) hrs | 15 wks |
| Prerequisite: Applications of Math 11 or Principles of Math 11 or MATH 091 or BMTH 044 or BTEC 115 or Math Placement Test (MPT) or permission of the instructor | ||
| Entry level Computing Science course. This course introduces the student to the basic concepts of information technology and computer applications. The student will learn how to use a microcomputer operating system effectively with emphasis on file management. Upon completion of the course the student should be proficient in using and customizing various software packages including word processor, spreadsheet, presentation software and data base software. The course also covers basic uses of the Internet and issues of security and privacy connected to it. The course serves as a preparation for the International Computer Driving License certification. | ||
| Note: Reasonable keyboarding skills and some familiarity with microcomputers running MS Windows | ||
| COMP 120 | Computer Science for Engineers | |
| 4.00 credits | (4,2,0) hrs | 15 wks |
| Prerequisite: Principles of Math 12 with a minimum B grade or MATH 105 with a minimum C- grade or MATH 107 with a minimum C- grade | ||
| An introduction to computational techniques applied to Engineering problems. The primary focus of the course is on computer systems, the development of algorithms, and computer program design, implementation, and testing. The course also exposes students to the wider discipline of computer science, with topics including computer hardware and software, representation and manipulation of data, numerical analysis, and device interfaces. | ||
| Note: This course is intended for students in the Engineering program. Satisfactory completion of COMP 106 is strongly recommended for non-engineering students who must contact the department for permission to register. Students are expected to have reasonable keyboarding skills and to have some familiarity Windows environment. | ||
| COMP 121 | Fundamentals of Programming | |
| 4.00 credits | (4,2,0) hrs | 15 wks |
| Prerequisite: Principles of Math 12 with a minimum B grade, or MATH 105 or MATH 107 as prerequisite or co-requisite or BMTH 054 with a minimum B grade | ||
| An introduction to the development of algorithms, computer program design, program implementation and testing in a high-level, object-oriented programming language. The course also exposes students to event-driven programming, the building of graphical user interfaces (GUIs) and the use of application programming interfaces (APIs) and graphics. | ||
| Note: Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and to have some familiarity with Windows environment required. | ||
| COMP 126 | Principles of Software Design | |
| 4.00 credits | (4,2,0) hrs | 15 wks |
| Prerequisite: COMP 121 with a minimum C- grade or COMP 107 with a minimum A grade | ||
| A study of the application of object-oriented programming concepts to the design of software of an intermediate level of difficulty. Advanced object-oriented programming features and techniques are employed. Introduction to data structures, sorting and searching algorithms. | ||
| COMP 134 | Programming in Java | |
| 1.00 credit | (1,0,1) hrs | 15 wks |
| Prerequisite: COMP 107 with a minimum B- grade or COMP 120 with a minimum C- grade | ||
| An introduction to the Java programming language for students with previous programming experience in another high-level language. Topics include the Java language and API, object-oriented design and programming, event-driven programming, and graphical user interfaces. | ||
| COMP 165 | Introduction to Multimedia and the Internet | |
| 4.00 credits | (4,2,0) hrs | 15 wks |
| Prerequisite: Applications of Math 11, Principles of Math 11, BMTH 044 or MATH 091; or Math Placement Test (MPT) | ||
| The goal of this course is to introduce students, with little or no previous computer programming or web design experience, to the basic concepts underlying the Internet and computer programming for the web. Students will develop a broad understanding of how the Internet and World Wide Web work, how to create full-featured web sites, and learn the basics of Web programming. | ||
| Note: Although no formal Computing Science prerequisite is listed, students are expected to have reasonable keyboarding skills and to have some familiarity with microcomputers running MS Windows. | ||
| Note: This course serves as a good science option for students in Arts or Commerce. | ||
| COMP 202 | Foundations of Computer Science | |
| 3.00 credits | (4,0,1.33) hrs | 15 wks |
| Prerequisite: COMP 121 with a minimum C- grade | ||
| This course provides an overview of the discipline of Computer Science and its fundamental building blocks that unify hardware, software, algorithms and computational theory. It provides the foundation for further studies in computer architecture, operating systems, Net-centric computing, programming languages, compiler design, databases, theory of computation and artificial intelligence. | ||
| Note: This course may not be offered every year. | ||
| COMP 210 | Data Structures and Abstraction | |
| 3.00 credits | (4,0,1.33) hrs | 15 wks |
| Prerequisite: COMP 126 and MATH 116 with a minimum C- grade and MATH 124 as a prerequisite or a co-requisite with a minimum C- grade | ||
| A study of frequently used data structures and algorithms for manipulating them. This course emphasizes abstract data types and generic abstraction in object-oriented programming. Topics include lists, stacks, queues, sets, tables, trees and graphs, recursion, searching, sorting and analysis of algorithms. | ||
| Note: This course may not be offered every year. | ||
| COMP 211 | Computer Design and Architecture I | |
| 3.00 credits | (4,0,1.33) hrs | 15 wks |
| Prerequisite: COMP 126 and COMP 202 with a minimum C- grade; and MATH 116 with a minimum C- grade and MATH 124 as a prerequisite or a co-requisite with a minimum C- grade | ||
| An introduction to some fundamental concepts of computer design and architecture: data representation and coding, combinational and sequential digital logic, microprocessor operation, memory organizations and addressing schemes, instruction sets, assembly language, and operating system interfaces. | ||
| Note: This course may not be offered every year. | ||
| COMP 212 | Computer Design and Architecture II | |
| 3.00 credits | (4,0,1.33) hrs | 15 wks |
| Prerequisite: COMP 211 with a minimum C- grade | ||
| A study of the architecture and organization of current microprocessor-based computers, relating the instruction set architecture at the programmer's level of abstraction to the digital logic implementation at the hardware designer's level of abstraction. | ||
| Note: This course may not be offered every year. | ||
| COMP 213 | Introduction to Software Engineering | |
| 4.00 credits | (4,0,1.33) hrs | 15 wks |
| Prerequisite: COMP 210 with a minimum C- grade | ||
| An introduction to the concepts and practice of software engineering: systems analysis, user interface design, debugging, profiling, and testing methods, operating system interface, support tools and scripting languages, project management, user and system documentation. | ||
| Note: This course may not be offered every year. | ||
| COMP 301 | Computing Technologies in a Digital Culture | |
| 3.00 credits | (4,0,0) hrs | 15 wks |
| Prerequisite: 45 lower level credits including COMP 101 or permission of the instructor | ||
| This course explores the implementations of computer technologies and their impacts on society. It focuses on linking an understanding of how these technologies work with the changes they bring to the areas of privacy, security, crime, intellectual property rights and social interactions. The course also covers a brief history of Computing Science and the Internet as a backdrop for understanding contemporary issues associated with increased computer usage, including those arising from current events, along with an examination of the environmental impacts associated with widespread adoption of computer technologies. | ||
| COMP 320 | Database Technologies and Applications | |
| 3.00 credits | (4,0,0) hrs | 15 wks |
| Prerequisite: 45 lower level credits including COMP 126 or permission of the instructor | ||
| This course introduces fundamentals of various data management technologies and their applications in business and other aspects of society. Students will gain hands-on experience using various data management technologies, including relational database systems and other cutting edge data management paradigms. Students will also be able to explain how databases work, write programs to interact with databases, implement simple database designs, and apply their skills in other disciplines. | ||
| COMP 330 | Modern Scripting and OS Automation | |
| 3.00 credits | (4,0,0) hrs | 15 wks |
| Prerequisite: 45 lower level credits including COMP 126 or permission of the instructor | ||
| Dynamic programming languages (also known as scripting languages) have been gaining in popularity in modern software development. The reason for this is simple - dynamic languages allow programmers to quickly write and test their software. When it comes to automating operating system tasks, dynamic languages are often the only choice available. In this course, we will study many of the popular dynamic languages, we explore their strengths and weaknesses, and find out how cutting edge applications are developed and deployed. | ||