Skip to content

JasonJonesTheDev/cs2600systemsProgramming

Repository files navigation

CS 2600 Systems Programming Spring 2022 California State Polytechnic University, Pomona

Contents

Course Instructor

Nima Davarpanah

Course Description

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).

Course Objectives

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

References

  • “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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published