Learn Valuable Tech Skills

1-on-1 online with live instructor

Get Started Now

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. We will 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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 ML IoT Course

- Add a network stack with lwip

- Implement boot and OTA update firmware

- Use PyTorch to add edge inference capabilities

- Deploy a complete ML + IoT application
                

Machine Learning Program

Coding in Python Course

- 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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 Course

- 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

Get Started Now

Embedded / ML / Semiconductor

Per Course $2250

Program Total $6750

Get Started Now

About Aurifex Labs

Aurifex Labs specializes in deep tech education, research, and development.

The long term R&D focus is on designing an Edge ML/IoT development system based on the premise that the industry will slowly move to a movie studio production model over the next decade as security and ML techniques stabilize with in-house expertise all the way down to the silicon.

The future of true hardware-software co-design is coming. Aurifex Labs is working on a workstation with enough local TPU and FPGA horsepower to fundamentally change the product design process and supply chain dependency graph.

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 tech skills and has a BSEE.

Consulting Rate: $225 / hour

Guides

Teacher's Manual

Verilog Style Guide

External Resources

Canonical Online Resources for Students

MDN

HTML & CSS is Hard

OWASP Top 10

semiengineering.com

Textbooks

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

CMOS VLSI Design: A Circuits and Systems Perspective (4th Edition), Weste, Neil; Harris, David

Formal Verification: An Essential Toolkit for Modern VLSI Design, Erik Seligman, et al.

Computer Architecture: A Quantitative Approach, Hennessy, John; Patterson, David

Security Engineering: A Guide to Building Dependable Distributed Systems, Anderson, Ross

Crafting Interpreters, Nystrom, Robert

Open Source PDKs

SKY130 - Skywater 130nm PDK

GF180MCU - GlobalFoundries 180nm PDK