Education & Skills Development


ACADEMIC EDUCATION:


  • University of Texas, Arlington, TX (Dallas-Fort Worth area)
  • The UTA master's program provided me with an in-depth understanding of the field of computer science. I was then invited by my graduate advisor to pursue a Ph.D, however I decided against it. Much of academic work in computer science is theoretical, and it seemed to me that a Ph.D. prepares one for a career in academia. My goal instead was to develop my skills as a software engineer and build systems that work well in the real world.
  • Master's Project: 3D Parallel and Perspective Graphics Display System


  • Bowling Green State University, Bowling Green, OH (near Toledo)
  • The BGSU degree program provided me with a solid foundation in software development. However, I didn't feel that I really understood "computer science." I resolved to pursue a masters degree at a later date to deepen my understanding.



ADDITIONAL COURSES TAKEN:


 
edX Courses (UT 6.10x, UT 6.20x, UT 12.01x, all 3 from Univ of Texas at Austin):   


Dr. Jonathan W. Valvano (related webpages), Dr. Ramesh Yerraballi
University of Texas at Austin, Austin, TX

This class is a lab-based, remote class (MOOC) with all lectures presented using recorded video. The focus of this class is on microcontroller input/output in this hands-on, lab-based course. You'll be watching high quality video of two professors, at the top of their game, sitting down, talking to you, then giving their lecture to you while drawing on a virtual white board. MOOC means: Massively Open On-Line Course.

Click here for info on the Lab Kit for both this class, UT 6.10x, and also UT 6.20x. An optional lab for this class requires the TI CC3100 WiFi Plug-in Module (CC3100 info) (which works with the EK-TM4C123GXL LaunchPad.)

  • The two professors take a bottom-up approach to problem solving, building gradually from simple interfacing of switches and LEDs to complex concepts like a microcontroller-based pacemaker, digital lock, and a traffic light controller, etc.
  • They present both general principles and practical tips for building circuits and programming the microcontroller in C. Students will develop debugging skills using oscilloscopes, logic analyzers, and software instrumentation. Laboratory assignments are first performed in simulation, and then you build and debug your system on the real microcontroller.
  • This class uses the Texas Instruments TM4C123 microcontroller kit which is based on the ARM Cortex-M4 processor (M4 CPU info) along with several other electronic components that all must be purchased to complete the labs.

This course content comes from classes these professors teach at the University of Texas at Austin, and also from 4 books on Embedded Systems by Dr. Valvano:

The four excellent texts by Dr. Jonathan Valvano are:
 
Course Title:

(I recently ace'd this class. I wanted to see what UT was teaching students these days. It was review for me, and both professors were excellent.)

Click image above to view the edX Web Certificate - Proof of Course Completion.


I've also taken their follow-on edX class, UT 6.20x (MOOC), with more complex labs that manage significant concurrency without an RTOS. Click here for info on the Lab Kit for both this class, UT 6.20x, and also the previous class, UT 6.10x.


Dr. Jonathan W. Valvano (related webpages), Dr. Ramesh Yerraballi
University of Texas at Austin, Austin, TX

But what I'm really looking forward to is their third class where they walk you through writing your own RTOS (Real-Time Operating System), starting with the scheduler, then you incrementally add features such as prevention of deadlock due to priority inversion. I've used several really well architected RTOS'es over the years, but I've always wanted to write my own RTOS from the scheduler on up. That class is:


Learn the design fundamentals of a real-time operating system (RTOS) and how to build a Bluetooth network in this hands-on project-based course.
Click here for info on the Lab Kit for this class, UT 12.01x.



Other Classes Taken:
  • Class - PHP
  • Class - Palm OS Development
  • Class - ARM CPU (at local ARM, Inc office, Los Gatos, CA)
  • Class - Perl
  • Class - JAVA
  • Embedded Systems Conference - firmware development sessions

Other informal training (DVD or On-line video):
  • Video Training - Flash Builder 4, ActionScript 3.0, MXML, Flex SDK 4.5
  • Video Training - PHP, MySQL
  • Video Training - Android Development
  • Video Training - JAVA
  • Video Training - JavaScript, jQuery
  • Video Training - Dreamweaver, CSS
  • Video Training - Joomla, WordPress




Copyright Predictable Systems © 2006-2024