Procedural Programming Course (BCS)

This repository contains assignments of procedural programming concepts using Java.

Recommended SDK Version (JDK 21)

I recommend using Java SDK version 14 or any version higher than 14 for the assignments in this course. Ensure that your development environment is configured with the appropriate SDK version.

Assignments

Assignment 1: Introducing the Neuro currency

  • Class: NeuroConverter
  • Description: It’s 2023, inflation has hit us even harder than now and the European Central Bank has established a new virtual currency, called neuro. For now, neuro has only coins which correspond to 1 (whole) neuro and its denominations in cents (1 cent, 9 cents and 49 cents). Obviously, whoever thought of these denominations had a funny sense of math! You are asked to develop a program that changes a given amount of neuro money into smaller monetary units. The program lets the user enter an amount as a double value representing a total in neuros (e.g. 11.56), and outputs a listing of the monetary equivalent in the number of coins (choosing among neuro-coins, 49-cent coins, 9-cent coins, and 1-cent coins) so as to result in the minimum number of small coins..

Assignment 2: Rock Paper Scissors Lizard Spock

  • Package: RPSLO
  • Description: Here you are asked to develop a version where the user plays against the computer!. Your program should ask the user to enter a play, and generate a random play for the computer, compare the two and announce the winner (optionally providing the reason!). The rules are simple (as mentioned in the video in the link above):
    • Scissors cut Paper
    • Paper covers Rock
    • Rock crushes Lizard
    • Lizard poisons Spock
    • Spock smashes Scissors
    • Scissors decapitate Lizard
    • Lizard eats Paper
    • Paper disproves Spock
    • Spock vaporizes Rock
    • Rock crushes Scissors

Assignment 3: Cool Numbers

  • Class: CoolNumbers
  • Description: This week you’ll write an algorithmic approach to what we call “cool” numbers. Given a (non-zero) positive integer n, a number is considered “cool” if n is divisible by each of the number’s digits without remainder.