Skip to content

desolateMesh/CSC500-1-Principles-of-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSC501-1: Foundations in Programming with Python

Course Overview

This repository includes multiple Python programming projects designed to build fundamental programming skills. The course covers basic arithmetic operations, user interactions, control structures, object-oriented programming concepts, and data handling through various practical exercises.

Projects and Objectives

1. Basic Arithmetic Operations

  • Purpose: Introduce fundamental arithmetic operations and basic input/output handling.
  • Skills Demonstrated: Functions, user input validation, basic error handling, formatted outputs.
  • Features: Addition, subtraction, multiplication, division with validation for division by zero.

2. Alarm Clock

  • Purpose: Calculate the alarm trigger time based on the current time and a waiting period.
  • Skills Demonstrated: String manipulation, input parsing, arithmetic operations, conditional logic.
  • Features: Robust input validation for time format and calculation accuracy.

3. Meal Cost Calculator

  • Purpose: Calculate the total cost of a meal including tip and sales tax.
  • Skills Demonstrated: User input handling, arithmetic calculations, percentage operations, formatted output.
  • Features: Interactive prompts and precise financial calculations.

4. Portfolio Milestone: Shopping Cart Simulation

  • Purpose: Create a simple shopping cart simulation to calculate the total cost of items.
  • Skills Demonstrated: Class definitions, object-oriented programming, data validation, input handling.
  • Features: Interactive item creation, input validation, total cost calculation, formatted output display.

5. Bookworm Bounty

  • Purpose: Calculate reward points based on the number of books purchased.
  • Skills Demonstrated: Conditional logic, class-level attribute handling, simple algorithms.
  • Features: Point calculation with multiple condition checks.

6. Precipitation Analyzer

  • Purpose: Track and analyze monthly rainfall data across multiple years.
  • Skills Demonstrated: Nested loops, cumulative arithmetic operations, user inputs, formatted outputs.
  • Features: Rainfall data collection, average rainfall calculations, interactive reporting.

7. Advanced Shopping Cart

  • Purpose: Develop a more robust and interactive shopping cart application.
  • Skills Demonstrated: Object-oriented programming, class methods, list manipulation, comprehensive user interaction.
  • Features: Item addition/removal/modification, detailed descriptions, dynamic calculations, interactive menu interface.

8. Class Information Lookup

  • Purpose: Display detailed information about university courses using dictionaries.
  • Skills Demonstrated: Data structures (dictionaries), key-based data retrieval, input handling.
  • Features: Interactive class detail retrieval, robust error handling.

9. Portfolio Final: Complete Shopping Cart System

  • Purpose: Implement a fully interactive shopping cart system using comprehensive object-oriented principles.
  • Skills Demonstrated: Advanced class design, encapsulation, method implementations, robust input/output handling.
  • Features: Item management, cart modification functionalities, detailed cart summaries, user-friendly interface.

Skills Developed

  • Fundamental programming concepts (variables, arithmetic, functions)
  • Interactive user input handling and validation
  • Object-oriented programming (OOP) (classes, objects, methods, attributes)
  • Data structure manipulation (lists, dictionaries)
  • Control flow and conditional logic
  • Robust error handling and user experience improvements

Running the Projects

Each script can be executed individually using Python:

python <script_name>.py

Ensure Python 3.x is installed on your system.

Conclusion

These foundational Python programming exercises equip learners with essential programming skills and a practical understanding of software development fundamentals, paving the way for more advanced studies and projects.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages