This was an test evaluation assignment as part of GenerationSG Junior Fullstack Developer Bootcamp, Day 36.
Welcome to the end of course assessment for the Java Programming Fundamentals module!
In this session, you will complete the StudentGen project.
By the end of this session, you will be able to:
- Write the methods that complete the program.
- Prepare the program to handle wrong data format insertion.
*Note:
- Please create your own class(es)/ methods as deem fit, additional attributes/properties can be added in as well
- Assume that there is no duplicate courses enrolled per student
A codebase with missing functionalities was provided to us. We are to tasked to implement the missing features on top of this codebase.
Supportive requirement documents can be found in appendix.7z (compressed PDF). Note as Github is blocking my .zip file, I've recompressed it as a .7z format.
- Java Assessment Requirements
- Output Sample Screenshots
These are just some selective sampling screenshots for a quick preview.
Student verified to be in the (HashMap) after registration.
Successfully enrolled into a course.
Grading the student
Showing student's passing course tracks:
For ease of code evaluation (to reviewers), I have commented my code injections with:
//@@ mycodes //@@ end my codes
Ans: Jumping into the 'deep end' of Java with this project, despite having only a short class time of 6 days to learn the language, has allowed me to appreciate Java as a programming language. I have gained an understanding of the extensive capabilities of object-oriented programming (OOP) and why it is still widely used in an enterprise setting, despite being considered an 'old' programming language.
Its also worth noting Java ver 20 was release just 3 weeks (21st March 2023) prior to our Bootcamp's Java track also implies this is an actively supported and roadmapped programming language by Sun.
Ans: I found Challenge 3 to be particularly difficult because it required the use of numerous class files. It was daunting for me to figure out where to start and how to mindmap the steps I needed to take.
Online documentation, coding sites & google searches had helped a great deal.
Ans: I have doubts about the thought process and rationale behind this current bootcamp's planning.
Java as a language would require at a minimum of 1-3 month to learn for someone who already has a working command of at least 1 programming language. However, we were expected to be able to fully understand the fundamentals of Java OOP with just 6.5 class days, for someone totally new to programming, and yet be expected to have a competent command to take on this assessment test is unduly challenging.
I recognised that allocating time into BSM (Behavioral Skills & Mindset) tracks and self revision is incredibly important. But not at the expense of having a good foundational technical skillsets which is fundamental to being a full-stack developer.
I've also found out from my research, in previous cohorts, their Java tracks was at least 9 days or higher.