FAQ Subject:
Prerequisites
What
are the prerequisites for this class?
This class (along with CS 5744) is one of the two capstone classes of
the Software
Development Module of the VTMIT
program. As such, the foundation courses are the minimum
prerequisites:
- CS 5044: Object-Oriented
Programming in
Java
- CS 5704: Software Engineering
Please note that all of the assignments in this class require a
significant amount of Java programming on your part, so you are
expected to have a solid understanding of Java before we
begin.
We will not
be reviewing the
basics of Java in this class, but we will cover in detail all of the
advanced programming skills needed for developing distributed
enterprise class applications.
I
see that Java is a
prerequisite;
exactly how much do I need to know?
You are expected to have a good working knowledge of the Java language
upon entering the class, since Java will be used as a common language
to express the complex topics of this course. You will only need basic
Java SE language skills (meaning only major classes from
java.lang and java.util) but you should be very well-versed in the
overall concepts of the Java language and environment.
For example, if you are at all uncomfortable with (or unfamiliar with) fundamental concepts such as:
- Objects, classes, and primitives (especially with respect to the Collections framework)
- Packages and imports
- Exception managing (including how to throw, catch, and propagate)
- Implementation of interfaces
- Creation of JAR files
- Reading Java APIs (JavaDocs)
- Debugging your code with an IDE
...then you should
definitely review those concepts very early in the semester (ideally
before it begins). Be sure you understand how to read standard Java API
Documentation as many of the packages presented throughout the semester
are well-documented there. Our first homework, which requires
(only) these basic skills to complete, is due very early in the
semester as a "warm-up" assignment.
Please note that if your only exposure
to the Java language has been CS 5044, then you will need to
review some
of these fundamentals before the
semester starts; that class is not designed to provide, on its own,
sufficient background for this class.
My
Java skills are
relatively weak;
can you recommend a good book to help me prepare?
I can't recommend any specific books or resources, because people tend
to learn programming
languages in vastly different ways. What works well for one
student may not work at all for another student. Still, there
are
hundreds--if not thousands--of books that claim to teach you
Java. You can find any one or more of those, and/or try the
extensive
official online Java Tutorial. If you
have limited
programming skills in general, you should consider taking the Preparation
Course that has been tailored to the needs of VTMIT students.
Can professional experience
substitute for any
prerequisite classes?
Usually not, but there can be exceptions. If you believe you have a compelling case,
please ask your faculty advisor to review your situation. If
your
faculty advisor agrees, you may be allowed to enroll.