Programming Fundamentals Assessment Preparation
A comprehensive collection of exercises and examples to help beginner Java and Python programmers prepare for programming fundamentals exams. This repository covers essential programming concepts with practical exercises in both languages (Java and Python).
This is where you, as a programmer, are going. You're not expected to implement each of these exercises on the first try. But over the course, you should get to a point where all of these are not that challenging. Professionals will expect you to be able to solve problems like this standing at a whiteboard, in an interview, under pressure.
There are two tracks in here, one for Java programmers and one for Python programmers. You know who you are.
What's with the name? Well, As you know, every starship has long range scanners to show what's close and not so close. So it's a metaphorical nod to eventual knowledge.
- Variable declaration and initialization
- Control structures (if/else, switch/case)
- Loops (for, while, do-while)
- Data structures (lists, maps/dictionaries)
- Exception handling
- Regular expressions
- Basic string operations
- String padding and trimming
- String formatting (left/right alignment)
- Number formatting in strings
LongRangeScanners/
├── java/ # Java exercises and examples
├── python/ # Python exercises and examples
├── README.md # This file
└── LICENSE # License information
By completing the exercises in this repository, you will:
- Master fundamental programming concepts in both Java and Python
- Understand how to work with variables, control structures, and loops
- Learn to manipulate strings effectively
- Gain experience with data structures and exception handling
- Practice using regular expressions for pattern matching
- Prepare confidently for programming fundamentals exams
- Java: Learn about primitive types, object references, and initialization syntax
- Python: Understand dynamic typing, variable assignment, and type hints
- Java: if/else statements, switch expressions, ternary operators
- Python: if/elif/else statements, conditional expressions
- Java: for loops, enhanced for loops, while loops, do-while loops
- Python: for loops, while loops, list comprehensions
- Java: Arrays, ArrayList, LinkedList operations and methods
- Python: Lists, list operations, slicing, and methods
- Java: HashMap, TreeMap, operations and iteration
- Python: Dictionaries, operations, methods, and iteration
- Java: String class methods, StringBuilder, string operations
- Python: String methods, string operations, f-strings
- Java: String.format(), padding with spaces/zeros, trim methods
- Python: str.ljust(), str.rjust(), str.center(), strip methods
- Java: String.format() with alignment specifiers, printf-style formatting
- Python: Format strings, alignment with format(), f-string formatting
- Java: DecimalFormat, NumberFormat, currency and percentage formatting
- Python: Format specifiers, locale formatting, decimal places
- Java: Pattern and Matcher classes, regex operations
- Python: re module, pattern matching, groups and substitutions
- Java: try-catch-finally, checked vs unchecked exceptions, custom exceptions
- Python: try-except-finally, exception types, raising custom exceptions
- Java: Complex problems combining multiple concepts
- Python: Complex problems combining multiple concepts
-
Fork and Clone this repository
git clone ... (c'mon paste in the URL of Your forked copy of the Assigned REPO) cd LongRangeScanners
-
Choose your language directory:
- For Java exercises:
cd java - For Python exercises:
cd python
- For Java exercises:
-
Follow the numbered task directories in order
-
Read the README in each task directory for specific instructions
-
Complete the exercises and check your solutions
- If you use an AI, only ask it to explain the concepts, not solve the exercise
- Work through exercises in your primary language first
- Practice writing code by hand for exam preparation with no AI assist
- Focus on understanding concepts, not just memorizing syntax
- Test your code thoroughly with different inputs
- Read the tests that are there, they can help a lot
- Review error messages and learn from debugging
- You can work through both languages to understand similarities and differences
Feel free to contribute additional exercises, improvements, or corrections by submitting a pull request.
This project is licensed under the terms specified in the LICENSE file.
This project has a test_aspect with some ideas.