The table below indicates courses I currently teach, and a selection of courses that I have taught previously is listed below that. | ![]() |
Course Name and Code | Description |
High-Performance Embedded Systems EEE4120F
|
EEE4120F - HIGH PERFORMANCE DIGITAL EMBEDDED SYSTEMS 16 NQF credits at HEQSF level 8 |
Embedded Systems II EEE3096S |
EEE3096S/3095S - EMBEDDED SYSTEMS II 16 NQF credits at HEQSF level 7 |
Software Defined Radio EEE5140Z
|
EEE5140Z - SOFTWARE DEFINED RADIO (Masters Level Course) 20 NQF credits at HEQSF level 9 |
Courses that I previously taught include:
Digital Systems EEE4084F |
In this course students hone their understanding and expertise in digital systems, making use of digital logic, circuit design and some Hardware Description Language (HDL) programming. |
Embedded Systems (full year course) EEE3074W |
This course was about designing and developing embedded systems. The aim of this course is to provide the principles of doing embedded system development effectively in order to produce professional, highly maintainable and robust systems. This course has (to a large extent) been replaced partly by the combination of EEE2046F and EEE3096S. |
Digital Electronics and Microprocessors EEE3064W |
In this course, students engage in digital logic design, swapping between the logic circuits and developing hardware description language coding. Students are taught to programming in VHDL code from the base basics. Simulation is used as a means to learn the language, whether you want to work in the lab or anywhere else on a PC that you can install the simulation software. The course closely follows the textbook, Mano, Kime, and Martin "Logic & Computer Design Fundamentals" 5th Edition (2015) - which is a highly recommendable book should you be wanting to learn topics of computer architecture design with a low-level HDL flavor (the later versions of this text, version 5 and later, provides both Verilog HDL and VHDL examples). |
C++ Programming for Electrical Engineers EEE2039G |
C++ Programming for Electrical Engineers (EEE2039G) : This courses module was removed from our undergraduate programme curricula as C and C++ is taught in the context of other courses, which has the advantage of using C++ to solve specific engineering problems. Students are nevertheless recommended to consider taking the Computer Science Department's CSC3023F course (which provides detailed on Operating System design and C++ programming concepts). This EEE2029G course has a focus on diving in to hands-on coding, using my favorite free, open-source IDE Code::Blocks, although we do pause to reflect on appropriate practices such as design-before-hack, drawing flow-charts (in the right way), and also doing some quick UML diagrams to get a handle on how to designing software for more complex systems (but note this is not a fully UML course, only touches on some essentials). |
Tutor Training Camp (voluntary course)
|
I often provide a voluntary tutor training workshop to which EE students that have been signed-up as tutors are invited. Generally the workshop runs once at in the first week of classes (first Tuesday afternoon of Term 1). Please contact me if you would like to participate either as a novice tutor who hasn't tutored before, or as an experienced tutor who would like to share and discuss some experiences and good tutoring practices. |
Dr Simon Winberg
Email: simon.winberg<at>uct.ac.za
Tel: +27 (0)21 650-2793
Physical Address:
Menzies Building, Library Road, Upper Campus
University of Cape Town
Rondebosch 7701
South Africa