Coder Social home page Coder Social logo

timgrossmann / hdm_sd1_projectbox Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 92 KB

๐Ÿ“• Example suite of Projects that I've planned to build with first term students of the Stuttgart Media University.

License: MIT License

Java 100.00%
study java softwaredevelopment learning university tutoring

hdm_sd1_projectbox's Introduction

HdM_SD1_ProjectBox

Example suite of Projects that I've planned to build with first term students of the Stuttgart Media University.

The Java Project in this repository is supposed to teach the students several basic concepts of programming based on a skill-timeline in the first semester of their studies.

The flow of the project is supposed to be like this:

Note Each of the tasks is done in a separate Class to make the task clearer, they are prefixed with Task_N. The App file is the main working environment and combines all the tasks.

  1. Basic Scanner project that simply reads in two numbers from the user, assigning them to int variables and prints the bigger one (Variables, usage of Scanner and basic operands)

  2. Print every n-th number from 1 to 100. (Scanner, For-loops, Modulo)

  3. Guess the number, using a Scanner to read user input which is then compared to the random number generated at the start of the program. (While/For loops, Random numbers)

  4. Using Switch-Case to start a given user decided program. (Switch-Case, Refactoring)

  5. Apply mathematical operation to Array of given size and read in values. (Arrays, Loops, Mathematical operations)

  6. Refactoring what we've built using functions for the different programs and mathematical operations. (Functions, Refactoring, Parameters, Arguments)

  7. Nested loops to build a christmas tree printed in the console of a given size. First thought through on paper and then implemented. (Nested Loops, Problem solving)

  8. Coordinate basic Class example explaining syntax and visibility of entities inside of classes. (Classes, Visibilities, Static Keyword)

  9. Coordinate system advanced Class example using two dimensional array to define empty element for each possible coordinate. Coordinates can then be provided which will be "marked" in the coordinate system upon printing. (Classes, Two Dimensional Arrays)

  10. Enum class example with Player and Potion entites. Potion can be of different "Types" (Enum usage) and Player can use the Potions to increase health, attack, or defense. (Revisit Classes, Simple Enums)

  11. BadMath class that shows the disadvantages of not using static. (Static Keyword)

  12. Very simple dungeon escape game with basic logic of walking along a dungeon grid. (More Classes, 2-dim Array, Functions)

  13. Simple tests using JUnit for the potion enum task, testing the construction of new Player and Potion and applying a potion to the player. (Project Structure, Pom file, Test cases)




How to import

git clone https://github.com/timgrossmann/HdM_SD1_ProjectBox.git

Import as Maven project in IDE of choice. We use the IntelliJ IDE.




Potential Topics for short Presentations

Depending on the level the students, it makes sense to provide only the first n-Topics as examples to not overwhelm them. Each presentation should be acompanied by a small task the other students can work through to understand the concepts better.

  • Maven setup
  • IntelliJ useful features
  • Variables
  • Main Method
  • Scanner (Simple User Input)
  • System.in/out/error
  • Primitive Types
  • Object Types
  • If-Conditions
  • Switch-Case
  • For-Loops
  • While-Loops
  • Break & Continue
  • Arrays
  • Nested Arrays
  • Functions
  • Passing Values vs. References
  • Classes (Constructor, etc.)
  • Visibility Levels of Entities of Classes
  • Method Overloading
  • Enums
  • Static
  • File Class (Input/Output)
  • Exceptions
  • Collections
  • Interfaces
  • Method Overriding
  • Abstract Classes
  • Root Object Class Methods (toString(), etc.)
  • Dates
  • HTTP-Requests
  • Singleton
  • Other JVM langauges
  • Compiling Classes to Java files
  • JSON Handling
  • Clean Code
  • Version Control with Git (basic cloning, comitting)
  • Advanced Version Control with Git



Additional Task Resources

hdm_sd1_projectbox's People

Contributors

dependabot[bot] avatar timgrossmann avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.