About This Course
The C programming language has a long history. C remains one of the most powerful languages available today and is at the foundation of many operating systems. This course covers past and present use of the C language, C syntax, libraries, memory management, File I/O (file and socket), modularity, ways other languages use C to interact with an operating system, debugging, and guidelines for how and where to use C instead of other languages.
The course also provides an overall approach to software development that uses an adaptive model for well-designed and well-written code in any language—code that is elegant, powerful, and easy to understand. This model assists developers in logically breaking programs into "atomic" parts that can be built upon, modularized, and eventually easily tested when brought together in a program. The concept of "programming styles" will also be introduced, helping students decide which style will work best for them.
Upon course completion, students will be able to:
- Code
- Compile and link C programs
- Use and create C libraries
- Debug C applications
- Understand appropriate application of the C language
Group assignments will use real-world examples of appropriate use of C. Hands-on exercises will start with writing some simple UNIX/Linux shell commands in C, and then move into larger programs. Linux-based Ubuntu or Knoppix are the free downloadable operating systems of choice for the class and are bootable from CD/DVD.
Instructors
MS, computer science with specialization in data science, University of Illinois at Urbana-Champaign; Bachelor of Engineering, with specialization in computer science and engineering, Panjab University, Chandigarh, India
Ashish Kumar is a senior enterprise architect in artificial intelligence and machine learning (AI/ML) at Amazon Web Services (AWS), a subsidiary of Amazon, where he assists customers to build cutting-edge generative AI-based solutions to solve business challenges. Ashish has held leadership roles at organizations such as Change Healthcare, McKesson, and UnitedHealth Group. He was part of a team at Change Healthcare that was awarded a patent and published a medical imaging-related research paper. He holds multiple certifications from AWS, Google Cloud, and Microsoft Azure.
- INET 3101 – C Programming: Language and Applications
- INET 3102 – Web Infrastructure
- INET 3350 – Special Topics in IT Infrastructure (Intro to Cloud Data Engineering; Intro to AI and Machine Learning)
BS, computer science, University of Minnesota
Mark Langanki has been working in the IT industry since 1989. His work centers on computing as it relates to telephony, networked applications, and distributed systems. Mark is the CTO of ConvergeOne and is leading innovation around the next model of IT and cloud services. He teaches at the University of Minnesota about operating systems, network programming, languages, and IT operations, and believes that learning doesn’t stop once a student graduates. Mark is dedicated to ensuring that students learn topics that will be applicable in the tech industry.
- INET 3101 – C Programming: Language and Applications
- INET 4001 – Foundations of Operating Systems
- INET 4021 – Dev Ops I: Foundations of Network Coding
- INET 4707 – Introduction to Databases