Learn Valuable Tech Skills
1-on-1 online 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.
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.
- 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
- 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
- Learn REST API design principles - Develop an API using node.js/express.js - Write database queries for MongoDB - Deploy a complete web app
- 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
- 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
- Learn REST API design principles - Develop an API using node.js/express.js - Write database queries for MongoDB - Deploy a complete mobile app
- 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
- 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
- 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
- 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
- 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
- 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
Prerequisite: Coding in Javascript or similar experience
- 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
- 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
- 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
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.
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 / hourClean 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
SKY130 - Skywater 130nm PDK
GF180MCU - GlobalFoundries 180nm PDK