Throughout this series we will be introducing topics on building and programming an autonomous mobile robot! You can follow along with each lab adding amazing new behaviors to you robot projects and learning the algorithms and tuning techniques that produce incredible robots!
There are many different robots you can use, but I will be using an Arduino based Pololu 3pi+ which you can purchase and use follow along.
Episodes:
Episode 1: Building an Autonomous Mobile Robot
Episode 2: Ultrasonic Sensor / Object Following Behavior
Bonus 1: Introducing Henry IX
Episode 3: Servo Control
Episode 4: Servo and Ultrasonic Sensor Integration
Episode 5: PID the Complete Guide
Introduction to Computer Science and Programming Series
Welcome to my introduction to Computer Science and programming series. I have designed a course to introduce Computer Science theory and teach you how to code. I am a Computer Science professor who started his own career as a self taught programmer. I am passionate about finding the best ways to teach Computer Science and programming techniques online. I am building this free course specifically for teaching over the internet! This course will teach you the theory of Computer Science, prepare you to program in many programming languages, challenge you with projects and offer community to help you grow.
Episodes:
Episode 1: Introduction to Computer Science and Programming
Industry Trends and Discussion
Videos that dive deep into industry trends, research and news.
Episodes:
Apple's M1 Processor: The Hardware Behind the Hype
Little Man Computer (LMC) Series
Little Man Computer is a way to explain how a computer works and how your program code (machine instructions) "tell" the hardware what to do.
Little Man Computer is a thought experiment developed at MIT by Dr. Stuart Madnick that helps us understand the process that unfolds within the computer CPU or Central Processing Unit.
Episodes:
LMC Episode 1: How a Computer Works
LMC Episode 2: Hello, World!
LMC Episode 3: Branching, Compilation and Assembly
LMC Episode 4: Iteration and Labels
Computer Organization and Architecture
The course starts by examining core concepts in computer science such as abstraction, systems and Moore's law. It then Computer Organization and Architecture is a deep dive into the computer and how it works. Major topics coved include: Computer software, Computer hardware, number systems (Binary, Hexadecimal, Octal) Representing data in computer systems, Assembly programming, machine instructions, basic circuitry, common computer architectures such as x86 and Arm, Instruction Set Architecture, CPU organization and design, CPU Pipelining, Multiple execution units, memory, cache, I/O and more.
Episodes:
Here are some highlighted episodes, click on the playlist at the top to find the complete list
What is a System?
Binary Arithmetic
Little Man Computer: Hello, World!
Transistors and Gates: Building Blocks of a CPU
Creating an ALU
CISC vs. RISC Architectures
Cache Memory
Databases
A study of the issues related to the design and administration of modern database systems, with special emphasis on relational database systems. This course will study data modeling, query languages, schema refinement and tuning of existing databases, physical implementation of databases, and systems issues in the management of data, Object Relational Mapping, distributed and NoSQL databases.
There will be a particular emphasis in this class on database integration within applications. For this aspect of the course we will be using the Java programming language. We will discuss Object Relational Mapping (ORM) in detail, and even create our own ORM tools!
Episodes:
Here are some highlighted episodes, click on the playlist at the top to find the complete list