PhD Doctor of Philosophy candidate
In this project, you will learn about the fundamental components that robots need: motors, electronics, software, communication, and the various alternatives and trade-offs necessary to make in good engineering design. You will start by making a specification for what the robot will be able to accomplish, and this will be used to inform part choices. The final robot will be able to race through a track on the floor made with electrical tape. No previous experience is needed in robotics or programming, but could allow us to get further.
In this project, you will learn the fundamentals of electronic circuit and printed circuit board (PCB) design: resistors, capacitors, inductors, transistors, integrated circuits, and embedded programming. You will learn about digital representation of sound, digital-to-analog conversion, and how to design, order, populate, and test a printed circuit board. The final product will be capable of playing a variety of notes depending on the buttons you touch. Some previous experience with the basics of electronics and programming would be helpful.
In this project you will learn the modern programming language Rust, which is designed for writing the fastest programs possible while also guaranteeing that many bugs are impossible. You will learn about the fundamental role of search algorithms in artificial intelligence and will implement a fast Sudoku solver. Rust is best learned as a second programming language after a language such as Python that is better suited to first-time programmers.