SAHIL-SANGHVI(1)→ TERMINAL(1)

Python Fundamentals

10 labs and 10 assignments in Python — variables and functions through file I/O, dictionaries, and an early intro to classes.

project→ sourcePython

tech:

README

CSC 110 — Fundamentals of Programming I

Python Testing

My full set of labs and assignments from CSC 110, the intro programming course at the University of Victoria. The course moves from variables and functions through conditionals, lists, tuples, dictionaries, recursion, file I/O and into basic classes/objects — this repo tracks that progression assignment by assignment.

Every function is documented with a docstring and doctest examples in the style the course required (>>> function_call() \n expected_output), which doubles as a quick way to see what each one does without running it.

Assignments

# File What it does
1 assignments/assignment1.py Warm-up: an ASCII-art function and basic I/O.
2 assignments/assignment2.py Balance/purchase checker — branches on insufficient funds vs. negative balance vs. success.
3 assignments/assignment3.py Numeric helpers: largest of three values, and related conditional logic exercises.
4 assignments/assignment4.py Factor-finding and number-theory style helper functions returning formatted strings.
5 assignments/assignment5.py Arithmetic sequence generator (start/step/end → formatted sequence string).
6 assignments/assignment6.py List-processing: raising every element of a list to a given exponent, plus related list exercises.
7 assignments/assignment7.py Custom tuple-based data types (Date, ShowInfo) — an early step toward structuring records before classes are introduced.
8 assignments/assignment8/ Parses a CSV of Netflix show data into typed records and answers questions over it; run against 0lines_data.csv / 9lines_data.csv / large_data.csv.
9 assignments/assignment9/ Extends the Assignment 8 dataset processing — additional queries over the same Netflix-style show records.
10 assignments/assignment10/ Race-results processor: race_time.py/race_result.py define RaceTime/RaceResult classes (the course's first real intro to classes/objects), and assignment10.py reads racer data and reports standings.

Labs

# File Topic
1 labs/lab1.py Variables, print, basic arithmetic.
2 labs/lab2.py Functions with parameters and return values (string comparison).
3 labs/lab3.py Constants and function arguments (GST/PST-style tax calculations).
4 labs/lab4.py Loops — computing a harmonic series.
5 labs/lab5.py Conditionals — age-category classification.
6 labs/lab6.py Lists — summing even values.
7 labs/lab7.py Tuples — custom Flight_Information type and list mutation helpers.
8 labs/lab8.py File I/O — reading person/age records from a text file into typed tuples.
9 labs/lab9/ Dictionaries — counting even/odd values and per-country population stats from file input.
10 labs/lab10/ Early classes/objects — a Student class (labs/lab10/student.py) built from a CSV of student records.

Extras

Not part of grading, kept for completeness:

Running

Each file is self-contained and runnable with a stock Python 3 install:

python assignments/assignment8/assignment8.py

Most functions have inline doctests, runnable with:

python -m doctest assignments/assignment8/assignment8.py -v

🎓 Project Context

Built as part of CSC 110: Fundamentals of Programming I at the University of Victoria (Fall 2023).

⚠️ Academic Integrity Notice

This repository is maintained for portfolio and educational purposes only. If you are currently enrolled in CSC 110 at the University of Victoria or a similar introductory programming course, please note that using this code in your own assignments may constitute a violation of Academic Integrity policies.