CSC080 History of Computing
A survey of tools for computation, from number systems and the abacus to contemporary digital computers. The course focuses on the development of modern electronic computers from ENIAC to the present. Study of hardware, software, and the societal effects of computing.
CSC103 Taming Big Data
Introduction to the field of computer science with a big data theme. Introduces students to algorithms, basic data structures, and programming techniques. Students will explore methods for obtaining and analysing data sets from the web using Python.
CSC104 Robots Rule
Introduction to the field of computer science with a robotics theme. Introduces students to algorithms, basic data structures, and programming techniques. Students will build and program robots, exploring mobility, navigation, sensing, and inter-robot communication.
CSC107 Creative Computing
Introduction to the field of computer science with a media computation theme. Introduces students to algorithms, basic data structures, and programming techniques. Media computation is used as an application area, focusing on image manipulation, sound splicing, animations, HTML generation and automated reading of web pages.
CSC109 Programming for Engineers
Introduction to the field of computer science with an engineering applications theme. Topics include math and logical operations, data types, matrices, conditions and decisions, looping, subroutines, numerical methods, and plotting.
CSC150 Data Structures
Introducing JAVA, Eclipse, object oriented programming, and the design, implementation and analysis of new data structures such as linked lists and trees.
CSC206 Natural Language Processing
Introducing language and technology, through practical applications. Giving an overview of the field of nlp, a history, and introduction to key concepts. We will create simple language processing tools using the NLTK.
CSC321 Data Mining and Machine Learning
The object of this course is to introduce Data Mining, where previously unknown and potentially useful information is automatically extracted from data sources, using regularities or patterns of implicit information. Such patterns can be used to make predictions over future data, and be used to explain and understand the nature of that data. Machine Learning is one mechanism by which data mining is achieved. It is used to discover and extract information from raw data. This course will cover tools and techniques of machine learning that are used in practical data mining.
The course will cover basic algorithms necessary for motor control. Building on these methods we will discuss higher level navigation for mobile robots, as well as the sensing necessary for localization of the robot in its environment. Finally we will also examine the challenges of motion planning for jointed robots with many degrees of freedom.
CSC483 Spoken Dialogue Systems
Spoken dialogue systems are being deployed to help people find out flight information, trade stock, access email, and find out traffic conditions. With continuing advancement in speech and language technology, more information and services will become readily available. This course teaches the fundamentals of spoken dialogue systems. Spoken dialogue systems include components for speech recognition, parsing, semantic interpretation, dialogue management, text generation, speech synthesis, and agent architecture. In addition, we will look at the emerging area of embodied conversational agents that use emotion and gesture to enhance the interaction.
NCWIT Social Robotics Workshop
This 3hr course introduces students to creating their own social robot, using the Lego NXT and NXT-G programming language. Students learn to make robots move around, avoid objects and use sounds and text to have their robots communicate.