Tuesday, February 21, 2017

Java [Programming] for the Design Student

As I have pushed more and more into GUI, interactive programming within all of my programming classes, I am currently developing a programming course that involves game design. Providing an in-depth Java programming course within a game design context would be an ideal way to encourage students to be more creative and excited about programming! This would also involve design considerations and a wonderful opportunity for collaboration with more creative students from within and outside of the course. GUI construction/interaction would be taught day ONE. This course has the rigor of traditional programming courses and will attract the design, creative-minded student into software development. 

Some online resources & programming ideas w/o regard to strict sequence: edu4JAVA

1. GUI construction using JavaFX & JOptionPanes
2. Introduction to Classes/Methods 
3. Game Design Principles
    -Collision Detection
    -Image Manipulation/Animation/Types (gif,png,jpg)
         [Photoshop, EzGif, Online Media Converter]
    -Video Manipulation/Types (mpg,mp4,avi,ogv, animated gifs)
    -Audio(Sound) Manipulation/Types (wav,mp3,ogg)
    -Game Engine
4. Assets creation/artwork
5. Diagramming/Planning
6. Software Packaging/Development 
7. Organization, Algorithm Design and Pattern Considerations (best practices)

Students may use IntelliJ, Eclipse or JGrasp, but the latter will suffice for the beginner student and the requirements for this course. The DESIGN PROCESS will be emphasized and expected.


1. Once the invested analysis, research, brainstorming of ideas is completed, the information collected is codified to be used in the Design Process. Schematics, flow-charts are used to help 'guide' the developers into creating an 'outline' of the project (problem) at hand.
2. After a thorough and meticulous Design Process, a prototype is ready for alpha, beta-testing. Peers and/or a cohort of users are given the opportunity to test the program and identify any modifications and/or improvements that could be made. Finalization of any relevant user manual or information/documentation is done here. 
3. Once the program has been comprehensively tested (alpha, beta), packaged, it may be released. This is also an opportunity for the product to be 'improved upon' or new innovation(s), versions explored. The entire process is repeated.

This programming paradigm would be ideal for students grades 7-12. I have, over the years, identified some really strong 8-9th grade students, but feel that a mature and committed 7th grader would greatly benefit. 

No comments:

Post a Comment