COURSE DETAIL
This course introduces basic ideas and techniques for designing computer systems with intelligence (systems collecting intelligence from public data and making statistical inferences to make an informed decision). This course provides formal language and automata theory examining fundamental knowledge on computation and computability. Topics include finite-state automata (regular languages), pushdown automata (context-free languages) and Turing machines (unrestricted languages).
The course covers how to design intelligent search and inference; how to aggregate data-driven intelligence; and how to build intelligence into systems. Text: Hopcroft, Motwani and Ullman, INTRODUCTION TO AUTOMATA THEORY, LANGUAGES AND COMPUTATION. Assessment: Exams (75%), quiz and homework (20%), class participation (5%).
COURSE DETAIL
This course covers the fundamental concepts and principles that shape modern computer networks, helping students understand how the Internet is designed and is being operated in practice, and the course prepares students to think about current issues. Class content is introduced top-down, starting with the applications that are most familiar to students, such as the Web and e-mail. Students gain a hands-on perspective by writing their own simplified versions of popular Internet protocols.
Topics include HTTP and FTP, Socket programming, Transport layer overview and Reliable data transfer, TCP and congestion control, Network layer, Virtual circuits, Datagrams, Forwarding, IP and ICMP, Routing algorithms and protocols, Link layer, Error detection and multiple access, ARP, Ethernet, hubs and switches, Wi-Fi, Email security and SSL, IPSec, VPN, Wireless LAN security, and more.
Prerequisite: EE209 Programming Structure for Electrical Engineering or similar
COURSE DETAIL
This course teaches practical programming skills relevant for students in any discipline (science, social science, or humanities), emphasizing its broad application in diverse academic contexts. Being grounded in foundational programming techniques and theory, the course builds a strong basis for understanding computational advancements and challenges in our contemporary world. Furthermore, it provides hands-on experience with diverse applications, enabling you to apply your programming skills throughout your (academic) career. Our course provides a comprehensive, hands-on introduction to the fundamentals of programming, progressing from basics like statements and variables, to programming patterns and development techniques. Beyond experience with these skills, the course provides relevant theoretical and historical context on the development of computers and programming languages, to help gain a deeper understanding of the skills you are applying. After mastering the primary competencies, the course displays the broad applicability of programming within academia. In groups, apply a selection of modern and academically relevant programming techniques such as simulation, text analysis, database programming, and experiment programming, within the context of academic problems across disciplines. These techniques showcase the inter- and multidisciplinary nature of computational methods and equip you with the tools and understanding to use programming in your own field of interest.
COURSE DETAIL
Topics in this Expansion of Operating Systems and Networks course include: administration with scripting languages; design and implementation of applications based on operating system services; monitoring utilities; introduction to distributed systems; next-generation internet (IPv6); routing protocols; advanced network protocols and services; socket programming.
COURSE DETAIL
This course introduces machine learning and deep learning, which are the most widely used methods for implementing artificial intelligence systems. It also covers a broad range of foundational topics to help students understand machine learning and deep learning systems, making the course accessible to students of all majors.
This course is intended for students with no background in AI or deep learning. Thus, the topics are broad and on an introductory level. Topics include Deep Learning, Linear Algebra Fundamentals, Artificial Intelligence Basics, Machine Learning Fundamentals, Neural Network Basics, Deep Learning Fundamentals, Optimization, Convolutional neural networks, Recurrent Neural Networks, Latest Deep Learning Topics as time allows.
Prerequisite: Linear Algebra
COURSE DETAIL
This course explores the fundamental structure and design principles of computer systems. It covers key topics such as computer abstraction and technology, instruction set architecture, arithmetic for computers, processor design, memory hierarchy, and parallel processing. Special emphasis is placed on understanding modern computer architecture trends, high-performance computing, and AI accelerators. By the end of this course, students gain a deep understanding of the interaction between hardware and software and develop essential skills for performance optimization.
COURSE DETAIL
This course introduces the field of natural language processing. This course focuses on introducing what natural language processing is, the main concepts in natural language processing research, and the algorithm design of major natural language processing tasks. The setting of this course includes three parts. The first part is an introduction to the basic tasks and concepts in the field of natural language processing, such as parsers, language modeling, etc. The second part is about the main research methods of natural language processing, such as statistical learning methods and deep learning algorithms. The third part is an introduction to the research directions of natural language processing, such as the development of technologies of large language models.
COURSE DETAIL
This is an introductory level course on digital literacy and its applications - P indicates a python focus. The course covers basic information technology skills and spreadsheet usage, basic statistics and data science concepts for working with data from digital sources, and computational thinking techniques for solving problems with data (e.g., automation, textual analysis, data visualization, etc.). The course includes demonstrations on solving real-life problems creatively. Case studies in social media usage are included to illustrate how to interpret data properly and identify false information. The course focuses on hands-on practices using relevant software toolboxes, without covering the inner-working details. The course ENGG1003 DIG LIT THKNG - R is similar in content but comes from R language focus.
COURSE DETAIL
The course is designed to equip students with experience, knowledge, and skills for succeeding in globally interdependent and culturally diverse workplaces. Throughout the course, students will be challenged to question, reflect upon, and respond thoughtfully to the issues they observe and encounter in the internship setting and local host environment. Students will have the opportunity to cultivate professional and personal development skills as defined by the National Association of Colleges and Employers (NACE). Assignments focus on building a portfolio that highlights those competencies and their application to workplace skills. Students complete 45 hours of in-person and asynchronous online learning activities and 225-300 hours at the internship placement.
COURSE DETAIL
This course explores and experiments with applying new technologies (such as Blockchain, Augmented Reality and the Internet of Things) to support social interaction and collaboration in new ways. It starts by covering how to study diverse workplaces, drawing on established theories of computer supported cooperative work (CSCW). The goal is to learn how to study users and their practices, and to learn from how technologies are used in "real world" organizations. Students then bring these new insights into the Makerspace and start a design process learning how to develop and apply novel technologies in a user-centered way. The overall goal is to rethink and innovate the future of workplace, and build new collaborative technologies that fit with real users needs. The course has three parts: ethnographic empirical study of a selected workplace drawing on theoretical theories of computer supported cooperative work; design and prototyping collaborative technologies in the Makerspace using user-centred approaches; and re-thinking and innovating the future workplace creating design fictions.
Pagination
- Previous page
- Page 2
- Next page