Skip to content

This is the repository for COP3502C (Programming fundamental 1) at UF using Python.

Notifications You must be signed in to change notification settings

megawall212/Python-Fundemantal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programming Fundamentals 1 (Python) – COP3502C

This repository contains most of the code from COP3502C – Programming Fundamentals 1 at the University of Florida, written in Python.
It includes all the labs, extra credit assignments, and the final project (approximately 90% complete).

The course was taught by Ashish Aggarwal during Fall 2024, when I took it as a freshman in Computer Engineering.


📝 Labs

Lab 1 – Lab1

  • Part A: Convert temperature from Celsius to Fahrenheit (rounded to 1 decimal place).
  • Part B: Calculate sales tax on a purchased item (rounded to 2 decimal places).
  • Part C: Calculate the number of days between two dates.

Lab 2 – Lab2

  • Part A: Classify triangles as equilateral, isosceles, or scalene based on side lengths.
  • Part B: Calculate federal income tax based on 2023 tax brackets.
  • Part C: Improved temperature converter that supports Fahrenheit, Celsius, and Kelvin conversions.

Lab 3 – Lab3

  • Calculator Program: Implements addition, subtraction, multiplication, division, exponentiation, logarithm, and displays average.
    • Handles invalid inputs and division by zero.
    • Tracks current result, total sum, and number of calculations using global variables.

Lab 4 – Lab4

  • Prime and Fibonacci Utilities: Functions for Fibonacci sequence, prime checking, and prime factorization.
    • Includes error handling for invalid inputs.
    • Demonstrates loops, conditional logic, and number theory concepts.

Lab 5 – Lab5

  • Binary & Hexadecimal Decoder: Program for decoding hexadecimal and binary strings, and binary to hexadecimal conversion.
    • Includes menu-driven user interface.
    • Implements functions for hex and binary decoding with error handling.

Lab 6 – Lab6

  • Connect Four Game: Uses a 2D board list.
    • Supports player turns, board display, chip insertion, and win detection (horizontal and vertical).
    • Handles draw conditions when the board is full.

Lab 7 – Lab7

  • Student Grade Calculator: Uses imported course data to compute weighted scores.
    • Handles missing submissions and prints a final grade.

🎮 Projects

🔗 Project 1 – Blackjack Game

  • Blackjack Game Simulation using a random number generator.
  • Handles card dealing, player/dealer logic, and game statistics.
  • Implements a menu for drawing cards, holding, viewing stats, or exiting.

🖼️ Project 2 – RLE Image Program

  • Run-Length Encoding (RLE) Image Program.
  • Includes loading images, encoding/decoding RLE, hex conversions, and image display.
  • Implements a menu-driven system for interacting with images.

💣 Final Project – Sudoku Game

  • Sudoku Game using Pygame.
  • Features GUI with clickable cells, sketching numbers, and placing numbers.
  • Includes difficulty selection (easy, medium, hard) and win/loss detection.
  • Supports reset, restart, and exit buttons.

🧠 Concepts / Topics Covered

  • 🐍 Python basics: variables, loops, conditionals
  • 🔧 Functions and modular programming
  • 📚 Lists, dictionaries, and data structures
  • 🏷️ Object-oriented programming: classes, methods
  • 📄 File input/output
  • 🎲 Random number generation
  • 🧮 Mathematical calculations: exponentiation, logarithm, Fibonacci
  • 🔢 Number theory: prime checking, prime factors
  • 🔡 Binary and hexadecimal conversions
  • 🐞 Debugging and testing
  • 🃏 Simple game development: Blackjack, Connect Four, Sudoku
  • 🖼️ Image processing: RLE encoding/decoding

Completed as part of COP3502C at the University of Florida, Fall 2024.

About

This is the repository for COP3502C (Programming fundamental 1) at UF using Python.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages