Courses Taught

Summary

System-on-Chip Design, Hardware Software Codesign of Embedded Systems, Data Structures, Real-time Operating Systems, Real-time Systems and Platform  Architectures, Software Engineering;
Computer Vision, Digital Image Processing, Robot and Autonomous Navigation;
Distributed Processing, Parallel Processing Architecture, Data Communication, Wide Area Networks;
Digital Systems and Logic Design, Computer Organization, Computer Architecture, Digital Electronics, Circuit Elements in Digital Computations.

   
Home
Details
1. Embedded System Design (COE718); Fall 2004-22, 70-150 students. An under-graduate level elective course that covers embedded system organization, hardware-software co-design, hardware-software partitioning, real-time systems embedded computing and real-time scheduling techniques. SoPC development environment is employed for course projects.
2. Embedded Computer Systems (EE8205); Spring 2006 - Fall 2022, 10-20 students. A graduate level course that covers embedded system organization, hardware-software co-design, hardware-software partitioning, co-verification and co-simulation, real-time systems aspects of embedded computing and real-time scheduling techniques. ARM RTX (RTOS) environment is employed for course projects.
3. Computer Organization and Architecture (COE608) Winter Semesters 2004-17; 40-110 students. Undergraduate level advance course on RISC processor design. Topis include basic architecture of modern computers. Interaction between computer hardware and software at various levels. Performance evaluation and metrics. Instruction set design. Computer Arithmetic. Datapath and control unit design for RISC and CISC processor architecture. The lab work includes the design and implementation of 16-bit RISC CPU using VHDL and Altera FPGA development tools.
4. System-on-Chip Design (COE838); Winter 2015-22, 30-50 students. The course covers the basics of system-on-chip (SoC) design, hardware-software co-specification, co-synthesis, network-on-chip (NoC) systems and system-on-programmable-chip technologies. It provides the advance knowledge required for system-on-chip design and development, multi-core architectures and embedded systems on a chip. Students are introduced to the main principles of embedded system-on-chip modeling and design using SystemC. Various SoC soft processor cores such as Nios-II, Microblaze, ARM Cortex A9, etc and other SoC IPs will be explored. Various design tools including SOPC builder will be utilized in the labs and projects. Interconnection structures suitable for SoC design will be studied. On-chip busses (e.g. AMBA, Avalon, IBM Core-connect, etc.) and network-on-chip techniques are covered in detail.
5. Real-time Operating System (ELE648) Winter Semesters 2002-04; 35-80 students. Undergraduate level course on operating system design. The course covers the background knowledge required for understanding operating system technology, processes, threads, concurrency, memory management, process scheduling, file management and computer security. The course provides the main principles of Operating Systems as well as basic concept of real-time operating systems.
6. Computer Architecture (ELE548) Fall Semesters 2001-03; 35-80 students. Undergraduate level advance course on RISC processor design. Topis include basic architecture of modern computers. Interaction between computer hardware and software at various levels. Performance evaluation and metrics. Instruction set design. Computer Arithmetic. Datapath and control unit design for RISC and CISC processor architecture. The lab work includes the design and implementation of 16-bit RISC CPU using VHDL.
7. Embedded Software Systems (EE8205); Winter 2003, 20 students. A graduate level course that covers embedded system organization, hardware-software co-design, hardware-software partitioning, co-verification and co-simulation, real-time systems aspects of embedded computing and real-time scheduling techniques. VxWorks and Tornado development environment is employed for course projects.
8. Software Engineering and Real-time Operating Systems (CN8818); Spring Semester 2003, 22 students. A graduate level course that covers software engineering, embedded systems as well as real-time scheduling techniques.
9. Network Platform Architectures and Real-time Systems (CN8808); Spring Semester 2002, 28 students. A graduate level course that covers embedded system design for various networking devices including routers and bridges.
10. Wide Area Networks (CN8802); Fall Semester 2001, 28 students. Graduate level advance course on wide area networks covering ATM, ISDN, SONET, T Link, Cable Modem and other WAN technologies. The emphasis is also give on X.25 and Frame-relays.

1. Circuit Elements of Digital Computation (EE800) 2nd Semester 2000-01; Graduate level advance course on microprocessor systems and their design. The topics covered include PLD based digital system design. Micro-controller architecture and programming details. Application and understanding of A-to-D and D-to-A converters and using VHDL for microprocessor system design.
2. Digital Systems I (EE 310) 1st Semester 2000-01; 50 students. Undergraduate level first course on digital logic. The topics covered in the course include basic concepts related to computer systems, number systems and Boolean algebra, logic Gates, combinational logic circuits, digital logic ICs, MSI logic circuits, flip-flops, counters, registers and digital arithmetic.
3. Digital Systems II (EE320) 2nd Semester 2000-01; 60 students. Undergraduate level advance course on digital and microprocessor systems and design. The topics covered include combinational logic and sequential circuit design using various PLDs (FPGA, CPLD etc.). Micro-controller architecture and programming details. Application and understanding of A-to-D and D-to-A converters, VHDL, appreciation of reliability and testability issues.
4. Digital Electronics (EE232) 2nd  Semester 2000-01; 90 students. Undergraduate level first course on digital Electronics. The topics covered in the course include basic concepts related to computer systems, number systems, logic Gates, combinational logic, digital logic ICs, MSI logic circuits, flip-flops, counters, registers and digital arithmetic.
* Logic Design (CE 102) 2nd Semester 1997-98 and 1998-99; about 45-60 students. Undergraduate level first course on digital logic design. The topics covered in the course include basic concepts related to computer systems, number systems and Boolean algebra, logic Gates, combinational logic circuits, digital logic ICs, MSI logic circuits, flip-flops, counters, registers, multivibrators, digital arithmetic and memory devices.
* Digital circuits and Systems (CE201) 1st Semester 1998-99, 1999-2000; About 240-300 students. Undergraduate level advance course on digital systems design. The topics covered in the course include combinational logic and sequential circuit design using various programmable and other logic (FPGA, CPLD etc.) devices, understanding the operational characteristics of logic devices and interfacing requirements of different logic families, application and understanding of A-to-D and D-to-A converters, VHDL, appreciation of reliability and testability issues for digital systems.
* Software Engineering (EL-311) Spring 1995; About 30 students. Undergraduate level introductory course on software engineering. The topics covered in the course include software specification and requirement analysis, software design, programming practice, data abstraction, portability and reuse, software management, program verification and validation. Various DBMS projects were completed using Oracle and C by following software-engineering approach.
* Data Communication and Computer Networks (EL-632), Fall 1992, Spring 1993; About 25-30 students. A post-graduate level course, which was first offered in 1992 and advance topics in the areas of computer networks and distributed processing were covered. The main topics covered include data communication system components; network and distributed system management; LAN, WAN and internet architecture; open systems messaging and routing; multi-protocol open systems; concurrent and distributed programming.
* Advanced Computing Systems (EL-631) Spring 1991, 1992; About 25-30 students. A post-graduate level course, which was revised in 1991 and topics in the areas of computer networks and distributed processing were added. Traditionally it covers basic concepts and description of computing systems, computer memory systems and their management, concurrent and distributed programming.
* Digital Image Processing (EL-722) Fall 1991; About 25 students. A post-graduate level subject that was completely revised to include the machine vision material. The topics covered are basic imaging concepts and devices, image filtering and edge detection, image segmentation techniques, Hough transform and its various parameterization, multimedia, shape from stereo and shading and image processing systems.

* Advance Computer Architectures (EL-731) Fall 1994; About 20 students. The main topics of the course are: various classification of computer architectures, pipeline and vector processing, parallel systems including SIMD and MIMD parallel architectures, performance evaluation, parallel programming and case studies of advance architectures.  

* Image Processing (DS 473) 2nd Semester 1993 and First Semester 1994; About 65-70 students. An undergraduate course covering image sources, basic image operations, edge detection, contrast enhancement, noise reduction filters, histogram equalization, image compression and template matching. The course was revised in the first semester of 1994 to include Hough transform and two-dimensional object recognition methods.
* Machine Vision (EE 408) 2nd Semester 1993 and First Semester 1994; About 60-65 students. A complementary undergraduate course offered along with the DS 473 (Image Processing). The course was completely revised in 1993. It covers image segmentation techniques, contour extraction, Hough transform, parameterization and error analysis, intermediate level image data representations and object recognition.
* Parallel Processing Architectures (DS583) 2nd Semester 1993; About 30 students. An undergraduate level course covering taxonomies of computer architectures, performance characteristics, multiple processor systems, distributed memory systems and parallel programming using OCCAM and parallel C, parallelism with languages and algorithm issues.
* Advance Computer Architectures (DS713) 2nd Semester 1993; About 25 students. Master of Information Technology course. The contents include central processor design overview, pipeline and related issues, memory management schemes, memory sharing and protection, cache memories, multiprocessors and interconnection networks, supercomputer architectures, Novel architectures and their applications.

* Parallel Processing Systems (DS714) First Semester 1994; About 35 students. A master of information technology course which covers multiprocessors and interconnection networks, shared memory systems and their cache architectures, message passing systems, parallel programming languages and their applications, parallel operating systems and application studies in the areas of simulation, image processing and machine vision.

* Computer Vision (DS720) First Semester 1994; About 25 students. The new master of information technology course introduced for the first time at RMIT. The course spans the multimedia and main computer vision topics including image Segmentation, Hough transform, grouping and aggregation, edge based segmentation, shape from shading and motion, stereo vision, model based vision, parallel architectures for machine vision, pyramidal vision algorithms and architectures and review of different computer vision systems.

Data Structure (CS211) Fall 1994; About 80 students. An undergraduate 3rd semester course covering introduction to software engineering and different data structures including simple data structure, stacks, queues, linked-lists and tree structures. Recursion, sorting and searching algorithms was also covered and Pascal language was used throughout the course.
Home