Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Manuel M T Chakravarty - Teaching
[go: Go Back, main page]

Teaching

Teaching at UNSW is organised into two sessions per year. Session 1 runs in the first and Session 2 in the second half of the year.

Session 1

I am currently teaching Data Structures and Algorithms (COMP1921). It's a vanilla data structures course based on Sedgewick's book and is taught in C - which admittedly is a less than ideal choice for teaching data structures and algorithms.

Session 2

In Session 2, 2007, I teaching a new course called Language-Based Software Safety (COMP4181/9181). This courses covers language-based safety engineering techniques including advanced type systems, formal reasoning, encapsulation of side effects, specification-based test generators, domain specific languages, and prototyping for high-assurance. It demonstrates at concrete examples, including security infrastructure software, how modern functional languages are used to achieve high assurance and conveys hands on experience by practical assignments.

Courses That I Used To Teach

I used to teach Distributed Systems (handbook entry) (which I previously taught together with Gernot Heiser and Peter Chubb) and which Ihor Kuz taught last year. The course is an elective for Year 3 & 4 as well as postgraduate students. It teaches concepts of distributed systems with a strong focus on operating system issues. It is a challenging course with a strong practical, hands-on coding component.

Alternating with Distributed Systems, I was teaching Advanced Functional Programming (handbook entry). The course ran only two times. It is organised in a seminar format with a couple of introductory lectures by myself at the start of session and student presentation afterwards. It covered advanced and research-oriented topics including type theory, compilation by program transformation, lambda calculus as a core languages, combinator libraries and embedded domain-specific languages, optimising programming transformations, and graphics applications.

In Session 2, I was usually teaching Computing 1 A (handbook entry). This was once a huge course -- one year, I taught over 600 students in this course. Dropping student numbers after the dot-com crash has made it more manageable. We know have between 100 and 200 students per semester. The aim of COMP1011 is to teach basic principles of programming and computing in general. We use the programming language Haskell, which exhibits basic concepts of programming languages in a particularly clean way and allows students to solve relatively complex programming problems after a couple of weeks experience. In line with our School philosophy, students spend a lot of time in front of a computer coding and gaining practical experience.

In previous years, I was also involved in teaching Operating Systems (handbook entry for 3231 & handbook entry for 9201).

Miscellaneous Teaching-Related Information

• Copyright 2005 Manuel M T Chakravarty • Last modified: Thu Mar 8 14:14:49 EST 2007