Learn Valuable Tech Skills

1-on-1 online with live instructor

1-on-1 Online Training with Live Instructor


Focus on the fundamentals, solve problems, and work on real projects.


Portfolio and skill oriented outcomes.


Learn while coding live with 1-on-1 help.

Programs

Courses last around 3 months and we'll have 2 one-hour classes per week for a total of 25 hours of live 1-on-1 online instruction.

Each program consists of 3 courses for a total of 75 hours of instruction.


Web Developer Program

### Coding in Javascript

- Learn the basics of Javascript with a focus on solving general purpose programming problems
- Use modern features like async/await, import/export, and class
- Solve a combination of classic text based programming problems and interactive graphics exercises
- Practice your coding skills with a game project

### Frontend Web Development

- Learn the basics of HTML and CSS
- Develop frontend views and components using Web Components
- Design responsive single page applications
- Connect a web app to data using third-party APIs

### Backend Engineering for Web

- Learn REST API design principles
- Develop an API using node.js/express.js
- Write database queries for MongoDB
- Deploy a complete web app
		

Mobile App Developer Program

### Coding in Javascript

- Learn the basics of Javascript with a focus on solving general purpose programming problems
- Use modern features like async/await, import/export, and class
- Solve a combination of classic text based programming problems and interactive graphics exercises
- Practice your coding skills with a game project

### Mobile App Development using React Native

- Setup your local mobile development environment
- Develop views and components using React Native
- Access native mobile functionality like Bluetooth and Notifications
- Connect mobile apps to data using third-party APIs

### Backend Engineering for Mobile

- Learn REST API design principles
- Develop an API using node.js/express.js
- Write database queries for MongoDB
- Deploy a complete mobile app		
		

Embedded Systems Program

### Programming for Embedded Systems

- Learn C with a focus on pointers and types
- Use compilers and embedded debugging techniques
- Solve a combination of classic text based programming problems and interactive graphics exercises
- Practice your coding skills with a game project using raylib

### Embedded System Development

- Setup your local embedded development environment
- Bring up prototype hardware using dev boards
- Write a device driver and learn to read datasheets
- Develop a task based embedded application using FreeRTOS

### Cutting Edge AIoT

- Add a network stack with lwip
- Implement boot and OTA update
- Use PyTorch to add edge inference capabilities
- Deploy a complete AIoT application
                

Machine Learning Program

### Coding in Python

- Learn the basics of Python with a focus on solving general purpose programming problems
- Use Python idioms that are commonly used in PyTorch and Tensorflow
- Solve a combination of classic text based programming problems and data oriented exercises
- Practice your coding skills with a game project

### Practical ML Skills with PyTorch

- Setup your local ML development environment
- Use PyTorch starting with pre-trained models and public datasets
- Learn production ready natural language processing and machine vision techniques 
- Practice hyperparameter tuning using iPython notebooks

### ML Research

- Learn how reinforcement learning (RL) and generative adversarial networks (GAN) work
- Dive deep into CNNs, RNNs, and ML hardware 
- Design and run a small ML research experiment
- Use cloud based TPUs to train a larger network
		

Digital Semiconductor Program

Prerequisite: Coding in Javascript or similar experience

### Digital Design with Verilog and Javascript

- Learn the basics of digital logic and how to verify correctness
- Use Verilog to describe hardware and Javascript to generate Verilog code
- Visualize circuits and sequencing with simple web based techniques
- Practice your skills with a I/O module project

### Computer Architecture

- Learn about the most common types of CPU microarchitectures
- Implement the basic building blocks of a CPU
- Explore memory hierarchy and GPU/TPU design
- Design a custom ISA and CPU

### VLSI for Digital Systems

- Learn how to do semiconductor timing analysis
- Develop an understanding of physical design heuristics
- Practice manual layout including clock, reset, and power networks 
- Design and simulate an SoC
		

Pricing

Web / Mobile

Per Course: $1750

Program Total: $5250

Contact to register

Embedded / ML / Semiconductor

Per Course: $2250

Program Total: $6750

Contact to register

About the Instructor

Steve Goldsmith is the founder and lead instructor of Aurifex Labs.

Steve worked for 6 years as a STEM tutor and Python coding teacher including co-founding Bay Area Summer Enrichment Camp where he taught Python to over 100 students. Steve has developed games (Python/C++), audio software (C++), and web applications (JS/HTML/CSS).

He has also been researching compilers, computer architecture, programming languages, and VLSI and developed Prospero.

Steve is passionate about teaching coding and has a BSEE.

Consulting Rate: $225 / hour

External Resources

Canonical Online Resources

MDN

Textbooks

Clean Architecture: A Craftsman's Guide to Software Structure and Design, Martin, Robert