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.|
The goal of this program is to give students who are already trained in Computer Science the essential business and communication skills and expertise in a Computer Science field of their choice that extends their undergraduate training and will give them an edge in the very competitive technological market. Graduates of this field shall be well prepared to take on upper administrative, management, and supervisory roles in the information and technology industry.
|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.
|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.|
|Analysis of Algorithms II||This course focuses on advanced techniques for the design and analysis of algorithms. Among the topics covered are: approximation algorithms, randomized algorithms, on-line algorithms, zero-knowledge proofs, parallel algorithms, computational geometry, and distributed algorithms.|
|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 learning.
|Algorithms for Image Analysis||This course has two components. On the one hand, it is an introduction to digital image analysis presenting selected fundamental problems in medical image analysis, computer vision, photo/video editing, and graphics. We cover such basic concepts as image segmentation, registration, object recognition/matching, tracking, texture, etc. On the other hand, this is an applied course on standard computer science algorithms where students develop practical understanding of dynamic programming, graph based algorithms, computational geometry methods, etc. The course emphasizes the design, analysis, and implementation of algorithms in the context of 2D/3D medical images, photo and video data.|
|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.
|Introduction to Computer Vision Techniques||This course examines the foundational techniques in the field of computer vision. Vision is one of our senses that allow us to build a powerful internal representation of the world. In this sense, machines that interpret visual data have an extended capability to interact with the world and humans. Such interactions include visually guided autonomous navigation, industrial inspection, cooperative robotics, facial recognition, and automated spatial missions.|
|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).
|Biological Sequence Analysis||Introduction to techniques used for analyzing biological sequences. Topics include: sequence alignment, dynamic programming, BLAST, spaced seeds, suffix trees, suffix arrays, Markov chains and hidden Markov models, profile HMMs for sequence families, multiple sequence alignment methods, building phylogenetic trees, etc.|
|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.
|Vision for Graphics||Realistic image synthesis is a central goal of computer graphics. Movies like Jurassic Park or Star Wars demonstrate thrilling possibilities - graphical models that look and move so realistically that they integrate seamlessly with live action footage.
In this course we will survey many of the computer vision techniques that have applications to the field of computer graphics research and production. The topics covered include image warping, matte extraction, motion estimation, mosaics, camera calibration, match move, shape recovery, texture analysis, and reflectance modeling. No prior background in computer vision is assumed. The fundamental concepts and mathematics that underlie these approaches will be covered in addition to the algorithms themselves.
|Learning & Computer Vision||Recent advances in imaging and computing technology make it possible to capture and process large amounts of visual data efficiently. This lead to increasing use of machine learning techniques for model learning in computer vision. A model learned from large visual datasets is less likely to be brittle than a model hand-crafted by a designer. In this course, we will explore recent successful computer vision methods based on machine learning. The course will be organized as a combination of lectures by the instructor and paper presentation by the students. Each student will have to do one or two paper presentations, as well as a final programming project.|
|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.
|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.
|Foundations of Computer Algebra||Symbolic computations manipulate numbers by using their mathematical definitions rather than using floating point approximations. Consequently, their results are exact, complete and can be made canonical. However, intermediate expressions may be much bigger than the input and output. One of the main successes of the Computer Algebra community in the last 30 years is the discovery of algorithms, called modular methods that allow to keep the swell of the intermediate expressions under control. This will be the main topic of this course. In particular, we will discuss fast multiplication algorithms (FFT, Karatsuba, Strassen) , Chinese remaindering algorithm, Newton's iteration and Hensel lifting , fast Linear Algebra and the LLL algorithm , polynomial gcds and resultants and factorization of Univariate Polynomials.|
|Topics in Bioinformatics||Bioinformatics studies biological problems using biological, computational, and mathematical methods. Computational biology studies computational techniques that can solve biological problems efficiently. This course covers some selected topics from Bioinformatics research: Tree comparison algorithms, RNA structure alignment algorithms, multiple sequence alignment with affine gap penalty, hidden Markov models, RNA secondary structure prediction by minimum energy folding, protein peptide de novo sequencing, normalized similarity and distance.|
|Empirical Research Methods||This is a course on “research methods” with particular focus on how to conduct empirical research in the field of Software Engineering (SE). We shall also touch base on research methods in Computer Science (CS) and Information Technology (IT). While creativity is central to advancing scientific knowledge, conducting research requires the use of rigorous qualitative and quantitative methods.|
|Advanced Topics in Image Compression||The course addresses recent research in image compression. This is a seminar/research course. Topics include: Context-based image compression, including context-based, adaptive, lossless image ooder, low complexity lossless compression for Images, and two-dimensional dictionary-based encoding; statistical data compression, including arithmetic encoding , context mixing, PPM (Prediction by Partial Matching), DMC (Dynamic Markov Compression), BWT (Burrows-Wheeler Transform) , PAQ, and CSD (Classifying Sub-Dictionaries).|
|Topics in Digital Ink & Handwriting Recognition||Handwritten input is increasingly important in modern computing. Tablet PCs, electronic white boards and many telephones today accept hand written input. Document analysis systems strive to handle handwritten annotations or entire documents using multiple languages and scripts. Finally, large-scale business applications, such as mail sorting and cheque cashing, rely critically on computer-based handwriting recognition. This course examines concepts in digital ink and aspects of computer-based handwriting recognition. The course involves lectures, review and discussion of articles from the research literature, and a programming project.|
|Topics in programming languages and their implementation||This course examines concepts in modern computer programming languages and various strategies for implementing them. The course involves lectures, study of a topic from the literature, and a programming project. The subjects presented in class will be selected from: memory management, functional programming and closures, lazy evaluation and parallel futures, polymorphic programming, types as first class values, type categories, dependent types, method dispatch and optimization in OO languages, iterators, generators, co-routines and their optimization, topics in code optimization.|
The goal of this program is to give students who are already trained in mathematical or computational sciences (including Mathematics, Applied Mathematics, Statistics, Computer Science, and related quantitative disciplines such as Engineering, Physics, and Economics) the essential business and communication skills and expertise in a data analytics that extends their undergraduate training and gives them an edge in a very competitive marketplace.
|Computational Tools for Data Analytics (Required)||An examination of the computational tools required for data analytics. Topics include fundamental programming concepts, software packages for mathematical analyses and data analysis (including a variety of commercial and open source alternatives), and an introduction to data access and management.|
|Data Mining and its Applications (Required)||How to discover implicit and useful knowledge from large datasets. Data mining techniques, algorithms, applications, and tools. Modern approaches such as decision tree learning, Bayesian learning, clustering, and association learning.|
|Data Management and Database Systems (Optional)||A study of modern database systems and their applications to and use in data analytics. Topics include database design, querying, administration, security, privacy, and data standards.|
|Data Visualization (Optional)||This course addresses three main issues: how information can and should be represented; how computers can allow us to interact with information; and how interactive information supports knowledge-driven activities. Case studies explore a variety of disciplines using various tools.|
|Regression (Required)||Multiple linear regression, Gauss-Markov theorem, Cochran's theorem, Craig's theorem, stepwise regression, polynomial regression, use of indicator variables, and regression diagnostics.|
|Advanced Data Analysis (Required)||Modern methods of data analysis including linear and generalized linear models, modern nonparametric regression, principal component analysis, multilevel modelling and bootstrapping.|
|Generalized Linear Models (Optional)||Estimation and tests for generalized linear models, including residual analysis and the use of statistical packages (R). Logistic regression, log-linear models. Additional topics may include generalized estimating equations, quasi-likelihood and generalized additive models.|