Mid Term 1 Review

REFRESH THIS PAGE

I will be adding updates to this page in the first few weeks of the course.

Topics Covered:

Exam Policies and Rules

Make sure you've read over and understand the Assignment and Exam Policies for this course.

Important!

If you lose your internet connection you must notify me IMMEDIATELY (e.g. using your phone's carrier network if you're doing a virtual exam).

Plan ahead!! Make sure you don't sleep in, as that is not a valid reason for missing a test. For in-person exams, make sure you leave for school earlier than normal in case you encounter transportation problems on the way (i.e traffic jam, broken-down bus, etc). If you drive, make sure you have a bus schedule - if your car won't work when you leave for school, you'll have the time and resources to take the bus, instead.

Important!

The closed-book portion uses Respondus. It is recommended that you perform a test of the Respondus software before the exam in case there are any updates to install. It is your responsibility to ensure that Respondus works on your machine prior to the exam.

Exam Format

For the closed-book quiz portion of the exam, you will have a series of short-answer questions that test your knowledge and understanding of the skills and concepts you've learned from doing the hands-on exercises and demonstrations.

For the practical, you will asked to write a complete Java web application, which may include the creation of HTML forms, POJO/JavaBeans, and in-memory database access.

Important!
You will be required to fully document your code in your own words to explain WHAT it does. Code that is not adequately documented will not be graded.
Note
Just because the practical is open-book, does not mean you will have time to look up everything. You will be very busy trying to get the application running and fully documented (see important note below) in the time allotted.
Important!
You are expected to be comfortable looking up new methods and classes in the documentation and learning how to use them. Therefore, you will be required to do some things you haven't seen in the notes/videos/demos. Bookmark all the documentation you've been given (e.g. spring docs, lombok docs, thymeleaf docs, etc) so you can quickly look up what you need to.
Important!
You will be required to fully document your code in your own words to explain WHAT it does. Code that is not adequately documented will not be graded.

Tips:

Summary of Topics

Review

Java Web Applications

Lombok

Thymeleaf

Database

Sample Questions

Make sure you've done all of the practice exercises in each lesson.

You can also practice by creating applications that follow the basic pattern we've learned so far:

  1. Choose some kind of data to manage: your sock inventory, your favourite movies, your kids' old toys, your contact list, your household expenses, a collection of some sort, a shopping list, etc.
  2. Create a database table to manage your collection, and at least one look-up (e.g. think Players -> Teams or Books -> Genre)
  3. Create a bean that models one item in your collection. Tip: make sure the data member names and table column names match!
  4. Create an input form so a user can enter an item in your collection. Make sure there's a field that looks up values from the look-up table (e.g. think the Teams drop-down list, or you can do a set of radio buttons or a regular list box)
  5. Upon form submit, gather the input data and construct an instance of your bean. Add that bean as a record to the database.
  6. Retrieve an updated list of the items in the database.
  7. Output the list of items to a Thymeleaf template page.

Do a few of those kinds of applications so that you become familiar with the process, the pattern of tasks you're doing. If you can do one of those without looking up too many things, you'll be fine.

Challenge yourself and be curious: try things you haven't done before. For example, display the collection of items on the same page as the input page, or add some extra functionality like a search for specific items. Try different things you can do with the Thymeleaf utility objects or by customizing Lombok annotations.