I have taught into degree programs for Electrical Engineering (ADFA), Computer Systems Engineering & Manufacturing Systems Engineering (RMIT), CS/IT (James Cook University), and Electrical Engineering (JCU). A few subjects have snapshots of materials available on-line here but otherwise see the archive.org 2008 archive of my JCU site. Note: I've been out of university teaching for a few years now.
Projects and Seminars
This presentation on writing a technical presentation come from my teaching in software engineering - the class found it helpful (see also understanding flowcharts at https://xkcd.com/518/);
Dr Sam Katzoff wrote "Clarity in Technical Reporting" in 1964 at Langley Research Centre (document NASA SP-7010). I remember receiving a copy of this document when a PhD student at ANU. Later, I passed on copies to some of my students. Scans are now available from universities e.g. TU Wien (https://www.ifs.tuwien.ac.at/~silvia/research-tips/NASA-64-sp7010.pdf), and here is a local copy "Clarity in Technical Reporting";
Standard versions of my seminar marking sheet and my project self-assessment sheet (developed from versions by Pj Radcliffe of RMIT Computer Systems Engineering). We were impressed by how students could honestly assess each other;
Collaborative projects between clients and students can bring out the best in both - see the processes developed for the SIT industry collaboration program (website snapshot 2008) developed by Chris Gaskett and myself, based to some extent on joint experience that we had from the excellent school of engineering CEED program at RMIT;
One of my mentors, Bob Bitmead, has written this document titled The things I hate in other people's seminars (pdf) - I believe this may have been therapy for him after one-too-many international conferences to chair;
Education Awards
National Award for University Teaching (2006): Final year projects are ideal for improving design and innovation skills.
Learning through industry projects with the support of collaborative tools, (2006) Chris Gaskett and Phillip Musumeci, Teaching and Learning Development Symposium, James Cook University, Cairns - this mind map was the basis for a JCU presentation on our Australian Learning and Teaching Council Citation. At JCU, Chris and I took our project teaching experience from the RMIT Computer Systems Engineering 4 year programs and adapted it to a 3 year IT program, extending it in areas such as risk management and collaboration support tools (some fine tuned by Chris), and triggering change in how JCU School of IT developed individual and group projects.
Tools: moinmoin wiki (teams documentation and communication), risk cards, etc.
University Based Teaching Awards:
JCU (2005) Inclusive Practice Award, recognising teaching efforts for students with disabilities.
RMIT/BOSCH (2001) Certificate of Distinction for Project Supervision, for work with the RMIT University team developing a mobile robot vision system in RoboCup. RMIT 2000 vs. Italian Golem team shows robots in action.
ADFA (1994) Teaching Excellence Award, for innovations including practical design techniques for reasoning under uncertainty and introductory telecommunications teaching.
Games to promote learning: Cairns JCU School of IT collaborated in the use of games in IT education.
Creativity in the Cane Fields: Motivating and Engaging IT Students through games, (2007) Colin Lemmon, Nicola Bidwell, Marion Hooper, Chris Gaskett, Jason Holdsworth and Phillip Musumeci, 2nd Annual Microsoft Academic Days Conference on Game Development in Computer Science Education.
Text Books:
Favourite texts (as used in the above subjects);
Free on-line texts for programming:
Learning with Python, Dive Into Python, Python related articles at raspberry Pi
Teach Yourself C++ in 21 days (or at least start learning!)
Teach Yourself Programming in Ten Years, by Peter Norvig, helps to put the above texts in context!
Embedded Systems and Projects:
Great project building blocks including single board miniature computers (AVR,ARM), serial protocol (I2C,SPI) connected peripherals like ADC and DAC and extra GPIO, power supplies, and design notes and tutorials are available from Adafruit Industries of New York. See also the beaglebone and raspberry Pi, often mentioned in Maker groups etc.
My most recent embedded systems workshop was for esp8266/AVR (notes available);
Notes on hardware and software for embedded systems: Embedded Systems Tools, Signal Processing.
Teaching Material from a time, long long ago...
Curriculum Design:
Information Systems Engineering Curriculum Report, Dr P Musumeci, School of IT, James Cook University, April 2005.
Snapshots (web.archive.org) of JCU Cairns School of IT Collaborative Projects efforts:
JCU Cairns School of IT Industry Collaboration (July 2008 snapshot) - Overview, Aims and Processes, Student Companies;
The CP3046/CP3047 project subjects allowed individuals to develop their project skills (July 2008 snapshot) - Detailed Schedules for subject&project, Wiki snapshots, and National Award;
One of the projects where we prototyped the collaborative and iterative approach was Ben Ingram's Stanton Database Project for the Wet Tropics Authority (July 2008 snapshot): System Requirements Specification, Scope Statement, Use Cases, Risk Plan, etc.
Subjects:
200x JCU/School of Information Technology:
cp2377 Portable Programming (web.archive.org snapshot) - this subject was an enjoyable way to broaden student (and teacher) knowledge in programming languages and platforms;
cp3110 Software Engineering (web.archive.org snapshot, uses a teams+agile+RUP focus and self assessment) - this was a fun way to learn advanced techniques and team work in order to engineer a system;
cp2002 Computer Architecture (used a Patterson&Hennessey text) - teaching architecture using this P&H text for undergraduate level (or their H&P text for graduate level) is a fine way to develop understanding of capabilities and limitations of computing systems;
cp2005 Operating Systems (used Silberschatz-et-al and Tanenbaum texts) - if one agrees that a major role of an OS is to manage lower level subsystems and services, then how can a programmer be of use without some OS knowledge? These authors provide quite good texts and this type of subject always expands the thinking of students;
cp3046 (supported an excellent lecturer, Chris Gaskett);
cp3120 Object Oriented Design and Analysis (used a Larman text);
The teams based work in CP3110 and CP3046/3047 led to ALTC and JCU teaching awards that I shared with Dr Chris Gaskett.
20xx JCU/Discipline of Electrical Engineering:
eg1002 Problem Solving and Programming using MATLAB/Octave.
My original notes expanded on work by Phil Turner and then refined selected topics over a few years. This work featured: a more language independent approach to programming, ensuring all examples worked in Octave and promoting the use of public domain tools more generally (students/engineers are more self reliant), covering the C-stdio inspired IO extension of MATLAB/Octave in detail (better prepare CSE students using C in embedded applications in subsequent years), and a practical approach to understanding problem descriptions (in English) was added to the problem solving section, and techniques for mapping ideas were also included (boosts problem understanding abilities).
eg1012 Intro to Circuit Theory (uses Nilsson&Riedel text, last taught in 2015).
RMIT/Dept of Computer Systems Engineering teaching covered:
Advanced Computer Architecture (Hennessey& Patterson text, TI C6000 s/w tools & evaluation systems h/w, u/g & graduate);
Operating Systems (real time u/g & graduate, UNIX);
Microprocessor Systems (u/g students in CSE and Manufacturing Systems Engineering);
Programming (C++ for 1st years, various language for 4th years) and Networking (u/g and graduate);
Projects (with one project supervision prize).