Registry Synced

BSCS3005 - Programming in C

456 words
2 min read
FieldValue
Course CodeBSCS3005
LevelDegree Level Course
Credits4
TypeElective
Pre-requisitesNone

πŸ“– Description

This course is intended as a practical introduction to C programming. The focus is on gaining experience with writing and debugging programs.
At the end of this course, a student should be able to: -write, compile, and run programs in C -use debugging tools to find and correct errors in programs -use various constructs in C and the standard library of C to implement basic data structures and algorithms -understand the need for an OS and how programs interact with the system

πŸ—“οΈ Weekly Syllabus

WeekTopic
Week 1Write, compile, and run programs in C in a Linux environment; debugging tools
Week 2Variables, built-in datatypes, operators; Control flow - conditionals, loops
Week 3Modularity and functions; variable scope
Week 4Input/Output; Files
Week 5Pointers, memory, arrays, strings
Week 6Multi-dimensional arrays, dynamic memory allocation; issues - memory leaks, management
Week 7Standard library and common extensions (math, time, etc.)
Week 8Implementation concepts: compilation and execution process; heap/stack; runtime and OS interface

πŸ“š Books & Resources

Prescribed Books The following are the suggested books for the course:
        β€œThe C programming language,” Kernighan and Ritchie
        
        Practical C Programming, S. Oualline, O’Reilly Publications
        
        Online sources and language reference

πŸ“ About the Instructors

Prof. Nitin Chandrachoodan
Professor,
Department of Electrical Engineering,
IIT Madras
Nitin Chandrachoodan received his BTech (electronics and communication engineering) from IIT Madras in 1996, and PhD from the University of Maryland at College Park in 2002, in the area of high-level synthesis techniques for mapping DSP algorithms to architectures. He has been with the department of electrical engineering at IIT Madras since 2004, where he is currently an professor.
...
more
His research interests include digital systems design and design automation tools and techniques, as well as design of embedded systems with a special focus on assistive technologies. He has taught graduate courses on digital integrated circuit design and on mapping algorithms to architectures, and a UG course on data structures and algorithms, as well as a laboratory course on digital design using FPGAs. He is an associate editor of the Springer Journal of Signal Processing Systems.
less
Visit website
Other courses by the same instructor:
BSCS2003 -
Modern Application Development I
and
BSCS2006 -
Modern Application Development II

Document Outline
Table of Contents
System Normal // Awaiting Context

Intelligence Hub

Navigate the knowledge graph to generate context. The Hub adapts dynamically to surface backlinks, related notes, and metadata insights.