Repo: https://github.com/z1n0v1/M01-Java-Fundamentals

Here you can find my solutions for SoftUni’s Programming Fundamentals with Java module.

Programming Fundamentals witch Java is the first module of SoftUni’s Software Engineering program.
It takes 4 months. As part of it, if you are new to the software development world,
you’ll learn introductory information about :

  • HTTP Basics - Developer tools, forms, request, response, URLs and URL structure
  • HTML & CSS Basics - Intro in HTML, HTML common elements, introduction to CSS, selectors, block elements, dev tools and fonts.
  • Software Development Concepts - Fundamental software engineering concepts, software architectures, front-end and back-end development concepts, embedded systems and IoT.
  • Problem Solving - Definition and stages of problem solving in the context of software engineering.
  • Database Basics - Database introduction, SQL vs. NoSQL databases, DBMS systems, MySQL, MongoDB.
  • Git and GitHub - Software configuration management, introduction to Git and GitHub.
  • QA Introduction - Software Quality Assurance, QA Engineers and Responsibilities, Bugs and Bug Trackers, Testing, Test Types and Test Levels, Test Automation, Frameworks and Tools.

The meat of the course is concentrated on basic programing concepts as used while writing software in java.

Here is full list of the covered topics and my solutions of the lab and exercise problems:

  • Basic Syntax, Conditional Statements and Loops - (Lab) - (Exercise)
    • Introduction and IDE
    • Java Syntax
    • Conditional Statements
    • Loops (while and for Loops)
    • Debugging and Troubleshooting
  • Data Types and Variables - (Lab) - (Exercise)
    • Integer and Real Number Type
    • Type Conversion
    • Boolean Type
    • Character and String Type
  • Arrays - (Lab) - (Exercise)
    • What are Arrays?
    • Array Operations
    • Array Iteration
    • for-of Loop
  • Methods - (Lab) - (Exercise)
    • Declaring and Invoking Methods
    • Value vs Reference Types
    • Overloading Methods
    • Naming and Best Practices
  • List - (Lab) - (Exercise)
    • What are Lists?
    • Reading Lists from the Console
    • Sorting Lists and Arrays
  • Objects and Classes - (Lab) - (Exercise)
    • Objects
    • Classes
    • Built-in Classes
    • Defining Simple Classes
  • Bitwise Operations - (Lab)
    • What is a Bit, Byte, KB, MB?
    • Numerals Systems
    • Representation of Data in Computer Memory
  • Associative Arrays - (Lab) - (Exercise)
    • Associative Arrays (HashMap, LinkedHachMap, TreeMap)
    • Lambda Expressions
    • Stream API (Filtering, Mapping, Ordering)
  • Text Processing - (Lab) - (Exercise)
    • Strings
    • Manipulating Strings
    • Building and Modifying Strings
  • Regular Expressions - (Lab) - (Exercise)
    • Regular Expressions
    • Quantifiers and Grouping
    • Backreferences

The next course part of the Software Engineering track is Java Advanced.