The Biological Sciences Specialty Field focuses on the applications of biology and biotechnology in agriculture, medicine, and the environment. Graduates will be well positioned to assume, or fast-track toward, leadership positions in organizations built around science. These range from start-up companies with niche products to multi-nationals, from non-government organizations working in communities around the globe to major government agencies engaged in science policy development, and from small entrepreneurial organizations to large corporations.
|Applied Biostatistics||This course will provide a foundation in the use of statistics to interpret biological data. Topics will include the application of parametric and non-parametric statistical tools to the interpretation and critical evaluation of research data (e.g., medical, environmental, basic research).|
|Bioethical Perspectives||The objectives of this course are to provide students with a foundation in bioethics, with emphasis on the application and impact of biological research and discoveries. Using a combination of workshops, critical appraisals, debates and guest lectures, students will learn to recognize and evaluate ethical concerns and stakeholder perspectives in a wide range of biological applications. Current examples will be drawn from a variety of sources including the popular press, public documents and the primary scientific literature.|
|Cancer Biology (0.25 FCE)||In this course students will analyze the cellular processes and mechanisms that control cell growth and differentiation, and that when dysfunctional can give rise to cellular transformation and cancer.|
|Cell Signalling and Gene Expression (0.25 FCE)||This course will focus on how cells sense and transmit environmental signals to regulate gene expression. Select examples of signal transduction events will be introduced and discussed to illustrate important principles. Students will be expected to present and critically evaluate assigned papers, and write a short review article.|
|Chemical Biology (0.25 FCE)||A broad overview of chemical biology with emphasis on protein synthesis with non-canonical amino acids, chemical biology approaches to probing cellular function, small molecule probes of protein-protein function, and chemical genetic approaches to drug discovery. The course will consist of lectures followed by journal club-style discussions led by the students. The students will also be expected to write and critique a short "news-and-views" style article.|
|Synthetic and Systems Biology (0.25 FCE)||Students will be introduced to synthetic biology (the design and construction of biological devices for useful applications) and systems biology (interactions between molecular components of biological systems). Students will be introduced to recent technical advances, to model organisms, and large-scale screening methodologies used in synthetic and systems biology.|
|Game Design||Principles of game design, game play, and balance;
Game genres and genre-specific design issues; plot, story, and level design
Technical foundations from computing: graphics, artificial intelligence, networking, software engineering, physics, anatomy, language studies
Ethical issues in video games and the gaming industry and the future of gaming
|Artificial Intelligence II||Models, techniques and architectures for knowledge based systems
Reasoning activity, tentative, approximate and uncertain reasoning, and with fuzzy set
Time in reasoning, hypothetical, qualitative, classification based and analogy based reasoning
Multi-agent based reasoning and the blackboard model
|Computer Networks II||In-depth examination of advanced concepts in computer networks and data communications
Mobile and wireless data communications,
Multimedia networking, network security, network management, and data communications modeling and simulation
|Software Design and Architecture||High-level view of a system, processing elements, data elements, and connecting elements
Software architectures and different types of architectures
The role or architecture in software systems and in software development
|Requirement Analysis||Activities involved in discovering, analyzing, documenting and maintaining a set of requirements for a computer-based system.
Study how to elicit, analyse and validate requirements
Types of requirements and methods for formulating software requirements
Requirements management, requirements modeling tools, requirements processes
|Human Computer Interaction||The design, evaluation and implementation of interactive computing systems for human use
Study of major phenomena surrounding interactive computing systems
Acquire theoretical knowledge of and practical experience in the fundamental aspects of designing, implementing and evaluating interactive systems that are useful and usable.
|Data Mining and its Applications||How to discover implicit and useful knowledge from large datasets
Data mining techniques, applications, and tools
Modern approaches such as decision tree learning, Bayesian learning, clustering, and association learnin
|Distributed Systems||Architectures, programming techniques and distributed algorithms for large scale distributed systems
Study state-of-the-art solutions for large scale distributed systems such as those developed by Google, Amazon, Microsoft, Yahoo, etc.
|High Performance Computing||Design and analysis of algorithms and software programs capable of taking advantage of parallel computing resources
Multi-threaded parallelism, cache complexity, and code optimization for parallelism and locality
Hardware acceleration technologies (GPGPU, FPGA), auto-tuning techniques and other concurrency platforms (TBB, OpenMP, MPI)
|Image Processing and Analysis||Filtering in the spatial and frequency domains (lowpass, highpass and bandpass filters)
Edge detection, region growing, morphorological operations, histogramming, and segmentation
Fourier transform and sampling
|Internet Algorithmics||Algorithms used for solving problems that arise from the design and use of wide-area networks, such as the Internet
Distributed algorithms for network problems, searching for information on the Web and Web crawling, caching and prefetching,
Service placement and clustering, peer-to-peer systems, load balancing.
|Advanced Machine Learning||Learning paradigms, methodologies and theories will be covered.
Inductive learning from examples.
|Empirical Research Methods||How to conduct empirical research in the field of Software Engineering
Research methods in Computer and Information Technology
|Advanced Topics in Distributed Systems||Architectures and programming techniques for large scale distributed systems
State-of-the-art algorithms for large scale distributed systems such as those developed by Google, Amazon, Microsoft, and Yahoo
|Game Engine Development||Integration of sophisticated concepts and software technologies from computer graphics, artificial intelligence, networking, and other disciplines into a highly usable, highly interactive package with serious real-time performance constraints
The development of a game engine, providing core functionality to support one or more games
The development of game logic that runs on top of this engine, providing the specifics of a particular game.
|Image Compression||Process intended to yield a compact representation of an image, hence, reducing the image storage/transmission requirements
Understanding of the fundamentals and the principles of various digital image compression schemes
|Cryptography and Security||Principles and practice of cryptography and network security
Classical systems, symmetric block ciphers (DES, AES, other contemporary symmetric ciphers), linear and differential cryptanalysis, perfect secrecy, public-key cryptography (RSA, discrete logarithms), algorithms for factoring and discrete logarithms, cryptographic protocols, hash functions, authentication, key management, key exchange, signature schemes, security.
|Distributed and Parallel Systems||Fundamental aspects of building distributed systems and developing distributed applications
Client-server application design using sockets and remote procedure calls
Developing reliable applications through the use of replication, group membership protocols, clock synchronization and logical timestamps
In all fields, the generation, collection and analysis of data has become increasingly important and, in many cases, a competitive requirement. There are core skills, broadly categorized under the headings “data” and “analytics”, required for professionals working in this area. The “Data” category includes things such as storage, standardization, hardware/software requirements, accessibility, manipulation, security, and confidentiality. The “Analytics” category includes the analysis, visualization, interpretation and communication of information leveraged from the data. These functions are not specific to any domain, but arise broadly across disciplines.