Final Exam Review
REFRESH THIS PAGE
I will be adding updates to this page during the last
half of this course.
Topics Covered:
Exam Policies and Rules
Make sure you've read over and understand the
Assignment and Exam Policies for
this course.
- The exam is part closed-book quiz and part practical.
You will need your computer with all
the required software and the
ability to connect to the internet and SLATE, and the
ability to run Respondus. It is your responsibility
to make sure you have these things before the exam begins.
Accommodation will not be made at the last minute.
- The first 30 minutes will be for completing the closed-book
portion of the exam. This portion will be short-answer
knowledge/understanding questions e.g. multiple-choice and
short-answer, along with at least one explain/describe
question.
- The practical portion is 2 hours and is
"open book" - you may use your notes, sample
programs you've written, my web notes, any resources I've linked to,
and other course resources. You may not copy code from the
Internet that isn't yours. You will be creating a small application
using the skills and knowledge you've gained from doing the
practice exercises and graded exercises.
- No other paper, notes, or books (except those mentioned
above), nor any calculators or other devices
are allowed on the desk during the exam (this includes phones).
- All phones/devices must be turned off during the exam
(not just silenced or on vibrate: they must be OFF).
You may not answer your phone or use any electronic
device during the exam except your computer.
- You are not permitted to discuss the exam with anyone else
while you are writing it. You are not permitted to ask
another person for help/advice/etc.
- You are not permitted to communicate with any other
person during this exam except your professor during
this exam. This includes but is not limited to chat
communication, voice communication, and forum or
discussion board postings.
- You may not share/post or otherwise make public or give
to anyone else your exam answers during or
after the exam. This would constitute
a breach of academic integrity on your permanent
record and will be dealt with accordingly.
- If you are late for the exam, you will not be given
extra time. If you miss the entry window to the
closed-book portion, you will not be permitted to
complete the closed-book portion of the exam.
(NOTE that in this case, you must notify me so that I can open the practical
portion of the exam.)
- There are no make-up exams.
- Failure to follow any instructions given by your professor
will result in a grade of 0 on the entire exam.
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.
Summary of Topics
Important!
Even though the focus is on the new material, you will
still be expected to know the material from the first half of
the course. For example, you might have to use Thymeleaf, in-memory
database access, etc.
Sessions
- Creating sessions, storing/accessing session data.
JUnit
- Writing JUnit tests to test controller methods
and database access methods.
Web App Security
- Why? Components of app security (authentication,
authorization, data integrity, confidentiality)
- How the authentication process works in a Java
web application.
- Terms: security realm, role, user
- Implementing basic authentication, authentication with
forms (log in, log out)
- Security via database, user registration, etc.
- Security configuration - authentication, authorization, etc;
handling login or authorization errors.
- Secure HTTP - terminology and concepts, self-signed certificate
and keystore, application properties, etc.
Web Services
- ReSTful web services - define, why?
- Creating and consuming web services - Postman,
coding in the application, etc
- Ajax and JSON
Thymeleaf Fragments
- Creating and referencing fragments, creating/using
them efficiently, passing arguments, etc.
Database
- Persistent storage vs. in-memory storage
- Persistent storage using MySQL
Practice
Make sure you've done all of the practice
exercises in each lesson.
If you need more practice, work on the other sample applications
like Books, Teams/Players, Inventory, etc.
Also, consider creating an application from the start, because
you know that any practical exam is going to involve creating
an application from the very beginning. Create an application
where the user has to log in, add/edit/delete records of some kind,
and use a ReST controller as the application's service layer.
That should give you practice with a little bit of everything,
and can act as a working template from which you can build the
application in the exam.