This repo contains the material covered in the Short-term Hands-on Supplementary Course in C Programming
for building C programming skills amongst the B.E. Computer Science & Engineering undergraduates in the Computer Science & Engineering Department at Sri Sivasubramaniya Nadar College of Engineering through a practicum-driven lesson plan during May-July 2022.
This certificate course was developed to support and enrich the material covered in the mandatory undergraduate courses UCS1201 Programming in C
and UCS1211 Programming in C Lab
. The team developed a curated lesson plan with offline & online classes, weekly assignments, code demos, and a capstone-project-cum-final-assessment for issuing merit certificates.
Nivedhitha D | Karthik D | Dr. B. Prabavathy | Dr. T. T. Mirnalinee |
---|---|---|---|
B.E. CSE 2018-2022 | B.E. CSE 2019-2023 | Associate Professor | Professor & Head of the Department |
Link to the project repository, and participant submissions.
-
A guided project that evaluates how the course participants implement a Command-Line Interface (CLI) program.
-
The starter code, problem specification, and automated unit-test cases for this project are made available to the participants in an invigilated laboratory environment.
-
Participants were given 60 minutes to understand the existing codebase, develop the logic, and meet as many project objectives as possible.
Course Details and Lesson Plan can be found here!
Location & Timings | Session | Hands-On | Handout | Slides (PDF) | Demo Programs | Lecture Video |
---|---|---|---|---|---|---|
12-May-2022 02:30 - 3:40 PM Seminar Hall |
S01: C Programming Basics | Tutorial: Expression Evaluation |
H01-C_Programming_Basics | P01-C_Programming_Basics | Replit, Github | SOON |
18-May-2022 06:30 - 8:00 PM Online |
S02: Conditional Statements | Live Code Demo: Finding greatest of 2, 3 numbers Tutorial: Simple calculator |
H02-Conditional_Statements | P02-Conditional_Statements | Replit, Github | V02-Conditional_Statements |
21-May-2022 06:30 - 8:00 PM Online |
S03: Looping Statements | Tutorial: Sum of n numbers, Factorial, Patterns |
H03-Looping_Statements | P03-Looping_Statements | Replit, Github | V03-Iterative_Statements |
25-May-2022 06:30 - 8:00 PM Online |
S04: Arrays | Live Code Demo: Linear Search, Matrix Addition and Multiplication Tutorial: Insertion and Deletion in Arrays |
SOON |
P04-Arrays | Replit, Github | V04-Arrays |
30-May-2022 06:30 - 8:00 PM Online |
S05: Array Operations | Live Code Demo: Linear Search (Revisit), Selection Sort Tutorial: Insertion Sort |
SOON |
P05-Array_Operations | Replit, Github | V05-Array_Operations |
04-June-2022 06:30 - 8:00 PM Online |
S06: Strings | Live Code Demo: String Copy, Case Conversion Tutorial: String Reversal |
SOON |
P06-Strings | Replit, Github | V06-Strings |
15-June-2022 06:30 - 8:00 PM Online |
S07: Functions | Live Code Demo: Linear Search, Swapping Tutorial: Increment a Variable (by Reference) |
SOON |
P07-Functions | Replit, Github | V07-Functions |
18-June-2022 06:30 - 8:00 PM Online |
S08: Recursive Functions and Variables Scopes | Live Code Demo: Fibonacci, Factorial, Variable Scopes in C Tutorial: Recursion with Pointers, Tail Call Optimization |
SOON |
P08-RecursiveFunctions-VariableScopes | Replit, Github | V08-RecursiveFunctions-VariableScopes |
22-June-2022 06:30 - 8:00 PM Online |
S09: Pointers | Live Code Demo: Pointer Basics, Pointers and Arrays Tutorial: Allocating and Returning Heap Memory |
SOON |
P09-Pointers | Replit, Github | V09-Pointers |
29-June-2022 06:30 - 8:00 PM Online |
S10: More on Pointers | Live Code Demo: Pointer Arithmetic, 2D Arrays with Pointers Tutorial: Function Pointers, 2D Dynamic Arrays |
SOON |
P10-MoreOnPointers | Replit, Github | V10-MoreOnPointers |
27-July-2022 06:30 - 8:00 PM Online |
S11: Structures | Live Code Demo: Structures I/O, with Arrays and Functions Tutorial: Structures to Represent and Manipulate Fractions |
SOON |
P11-Structures | Replit, Github | SOON |
Asynchronous Online |
S12: File Handling | Live Code Demo: Text File I/O, Binary File I/O, Tutorial: Random Access File Read |
SOON |
P12-File_Handling | Replit, Github | SOON |
Asynchronous Online |
S13: Structures and Files | Live Code Demo: Dynamic Structure Intialization, Linked Lists Tutorial: Store Linked Lists in Files |
SOON |
P13-Files_and_Structures | Replit, Github | SOON |
14-September-2022 01:30 - 3:30 PM Java Technology Lab |
S14: Project Development and Evaluation | Lab Test : Develop a Todo Application from given Boilerplate Code |
NA |
NA |
Github Repository with Starter Code | NA |
- To lay solid foundations in C programming using a project-oriented practicum
- To ensure that students are able to implement theoretical concepts programmatically
- To promote collaborative learning by participating in coding parties and Ask Me Anything (AMA) sessions
- Implement, compile, debug, and execute procedural programs in C
- Implement C programs with appropriate data representation and programming constructs
- Organize programs into functions and modules
- Develop programming projects in C modularly and refine incrementally
- Write clean and well documented code
- Prepare for advanced coursework that employs C programming at its base