Courses Completed: This repository showcases my assignments and projects from two Coursera courses offered by the University of California, Santa Cruz as part of the Coding for Everyone: C and C++ Specialization:
-
C for Everyone: Programming Fundamentals
Covered foundational topics such as introduction to C, lexical elements, data types, control flow, functions, recursion, arrays, and pointers. -
C for Everyone: Structured Programming
Built upon the fundamentals with advanced concepts including enums, structs, linked lists, binary trees, file I/O, command-line arguments, and an introduction to C++ constructs.
| File | Description |
|---|---|
7-Card.c |
🃏 Simulates 7-card poker hands and computes probabilities of hand types using Monte Carlo simulations. |
Fix-2nfMistake.c |
Corrected normalization mistake in database design assignment. |
Fix-D.P-s-mistake.c |
Debugged dynamic programming error. |
avg-meth-2.c |
🐘 Computes the average weight of elephant seals using a predefined array of integer weights. |
avg-weight-eleph.c |
🐘 Reads elephant seal weights from a file, counts them, and computes the average weight. |
bst_inorder_from_file.c |
🌳 Reads integers from a file, inserts them into a binary search tree, and prints sorted values using inorder traversal. |
employee_generator.c |
👥 Generates a list of employees with random salaries and departments using structs and enums. |
int-RS-DoubleList.c |
🔗 Doubly linked list: generate 200 random integers [0–49], remove duplicates, and print before/after. Demonstrates bidirectional traversal, dynamic memory, and duplicate removal. |
int-random-store.c |
🔗 Generate 100 random integers, store them in a linked list, sort with Bubble Sort, and display in rows of 5. Demonstrates dynamic memory, list traversal, and sorting. |
poem.c |
Printed a formatted poem (string and I/O practice). |
ratio_sum_avg.c |
📘 Rational Numbers in C: structs, file I/O, arithmetic (add, subtract, multiply, divide), reduce fractions with GCD, compute sum & average. |
sin-gen.c |
🔢 Computes the sine of a user-input value between 0 and 1 using math.h. Includes input validation and floating-point operations. |
vals-sin-cos.c |
📊 Generates a table of sine and cosine values for x from 0 to 1 in increments of 0.1 using math.h. |
README.md |
Repository overview. |
-
Clone this repository to your local machine.
-
Navigate to a project folder (e.g.
bst_inorder_from_file.c). -
Compile & run using:
gcc filename.c -o prog ./prog
-
Explore the code, read comments, and review output formatting.
Programming Fundamentals: Developed fluency in C syntax, data types, control flow, and basic algorithms.
Structured Programming: Gained understanding of modular design with advanced data structures (structs, linked lists, trees), recursion, and file operations.
Problem Solving: Implemented both conceptual and practical tasks to reinforce debugging, clean code, and algorithmic thinking.
Author: Walid Krati
Course Instructor: Ira Pohl, UC Santa Cruz via Coursera
Certifications: Completed courses in C programming fundamentals and structured programming
Thank you for checking out my learning journey in C programming.