Nima Davarpanah
Fundamentals of C programming and Unix environment. File management, communications and process control. Regular expressions. Unix system calls, concurrent, and socket programming. Learn how to program the Arduino for real-world usage, such as to control lights, motors and motion detection sensors. This course assumes the use of real hardware components in a live lab environment (not software-simulated hardware).
Upon the completion of this course, the student shall acquire the following knowledge and skills:
- Introduction to the basic concepts of programming in C and its use for problem solving.
- Appreciate the various utilities used for file management, process control, communication and program development
- Master the various UNIX shells and scripting in the bash shell
- Understand the basics of concurrent programming and socket programming
- Program Arduino to control lights, motors, and other devices.
- Understand Arduino's architecture, including inputs and connectors for add-on devices.
- Add third-party components such as LCDs, accelerometers, gyroscopes, and GPS trackers to extend Arduino's functionality.
- Understand the various options in programming languages, from C to drag-and-drop languages.
- Test, debug, and deploy the Arduino to solve real world problems.
- Arduino ESP32 kit https://tinyurl.com/yvk8kc4f
- “The C Programming Language” Brian Kernighan and Dennis Ritchie
- “C in a Nutshell” Peter Prinz and Tony Crawford
- “Learning the bash Shell” Cameron Newham
- “Shell Scripting” Jason Cannon
- “C Programming A Modern Approach” K. N. King
- “The Linux Command Line” William Shotts