Previously on CS399J...
Overall, it was a pretty good term. There were about 40 of us
and I think we learned a lot. Let's see what my students
- What do you wish you had known before taking this
What is the most important thing you have learned in
- I actually had a good solid foundation entering this
course. I didn't know much about the details of the programming
language, but I already understood many of the benefits and
drawbacks. I didn't ever really feel held back due to lack of
- Not to be afraid. There were some concepts I had
forgotten from past courses, but perhaps some of that was for
the best. Basically I was comfortable coming in.
- I knew a lot of Java before this class so I can't really
- How intense the work load was going to be. I wish I had
at least played around with Java, even if it was just a "Hello
World" programm, just to understand how it works.
- Some more Java, actually nothing, I think I was prepared
- Maybe some more OOP experience
- I was prepared I think??
- How to program with Java? What the real difference
between Java and other language? Should I become a programmer?
Is Java simple language.
- That I'd be taking a job where I have to get up at 4:30
AM every weekeday. Makes those evening classes a bit
- There are not any classes that I wish I would have
- I wish I had graphics before I took this class.
- Better familiarity with UNIX would have been nice.
- Know the concepts of object oriented programming, which I
know because of a series of classes I took in C++. Know a
little about the on-line API "help".
- I wish I had finished the operating system and compilers
courses. I don't believe that made a difference in my
performance in this course.
- A little about Java so that I could have gotten into some
of the more complicated things earlier in the course. Practice
with classes in C++ would have helped too. It has been 2 years
since I have used classes in C++.
- JUnit and Ant
- A stronger background in networking & graphics would have
helped, but not required.
- I wish someone had told me that I would spend as much
time programming for this class as I did in 202.
- I don't think there is anything I needed to know before
taking the course. I'm glad I took the course in C++ first. It
would probably have been nice to know a little XML, but it was
not really hard to learn as needed.
- That it takes time
- Everything. I want to know everything.
- I think I knew what I needed to know for this course.
The things I found useful were XML knowledge, OS concepts,
knowledge about threads & processes and also networking
- More about networking, threads, JAVA?
- More about sockets.
- Object Oriented Programming (general). How to use ANT
first - to save trouble later in the term.
- XML, X Window CS machine, and UNIX. Maybe the meaning of
- More about networking
- I wish I knew C++ better because it would have made it
easier to learn Java. For example, I didn't know C++ had
exceptions before taking this course.
- I wish I had more knowledge on networking.
- I wish to be familiar with Java. I study it by myself
before, but no chance to practice.
- That the class book was optional.
- I have pretty good programming and development experience
wihich helped a lot I think. (Even it's 4-5 years since I did
anything major in C).
- More Unix, little more experience with OOP, the
prerequisites you thought we should have (compilers,
operating systems, ...)
- Java, or maybe more about shells and makefiles.
- I wish I had more experisnce on UNIX.
- 1. That the instructor is nice so don't stress much.
2. That we'll have such comprehensive and hard final test.
3. That the book is of little value (not worth the money) and
there is plenty of material on the web.
- It all good!
If you could give one piece of advice to someone taking this
course in the future, what would it be?
- I learned how to compile, run and write a Java program.
That was pretty much expected of the course. But I think the
most important thing was learning how to learn Java. The Sun
documentation is a Godsend. I lived in javadocs while writing
all my programs, and when I still got stuck I found Sun already
had tutorials + plenty of examples.
- How to use the Java Docs first most. How to write the
- I learned how to use swing to make a GUI
- Java! OOP. Error checking.
- Code sharing, using other people's code. In a general
way, it has made my brain think in an object-oriented manner,
and always think about the next person using my code, to make my
- Use of the JAVA core API's. The language syntax can be
picked up from a book, but you have to use the API's so learn
- Facets of object oriented programming. This a much
better introduction to classes and object handling than I got
from 161-163 where I used classes but didn't realize their full
use or potential.
- How to program Java program portable and plate-form [sic]
independent? How to use import to get the class I want to use
from another person's account. How to program Java networking
- That the Java 1.2 programming environment is more
comprehensive than most other "languages". It is important to
realize this and look at the full package rather than think "ho
hum, another language, what's the syntax for doing X?"
- Java is a lot simpler and easier to use when doing object
oriented programming, then C++. And in general its a lot
friendlier programming language than C++.
- I got the chance to exercise the object-oriented
programming. In CS202, I learned the concept of inheritance,
and I only did one project about inheritance. This term I really
started to learn how to program object-oriented
- General overview of the Java programming language.
- Java. And basically how to use the Java API
documentation that's available on-line.
- One thing is a better understanding of how classes work.
And I was very interested in learning about the Networking
- After taking this classes I feel that I could have
totally kicked ass in CS202 (Object oriented programming). I
understand some things about class now that I never got
- It has really refined my ability to think and design in
an object oriented manner.
- JUnit & Ant were very useful tough I'd say Swing was the
- I learned how to use object oriented programming more
than ever before and I will be able to go back to C++ and write
- I have a much firmer grasp on object oriented
programming. After taking CS 202 I thought I was really missing
the point about object oriented programming. I realize now
that C++ isn't really object oriented.
- Networking and GUI
- How to implement simple programs in Java. I'm already
using Java for my final project in CS300.
- (Java!) Using Java as an object oriented language. XML
& Java was very useful for me. I have developed confidence in
my own programming skills in Java.
- A lot more about OOP.
- How to look for tools to help me do my projects. Looking
for useful classes that might work better than what I might be
using now. How to think modularly.
- Object oriented programming - and really using it
- How applicable and useful Java is to the real world
- The most important things I have learned in CS399J is how
to find answers by reading Java API Javadocs.
- The most important thing I learned is networking with
- Java concepts, include basic classes, object oriented
programming, and the method to use some basic classes such as
String, StringBuffer, Writer, Reader, File, SAX API, DOM API,
- How to program in Java and hot to use swing.
- Programming Java
- OOP. Programming to the interface.
- The power of objects, especially Abstract classes, the
classes inherited from them, and interfaces.
- There is nothing to fear from JAVA! (java is cool)
- I learnt [sic] a lot about fast paste [sic] classes. A
lot of materials in short time. But is was really fun, because
the instructor makes the class fun and not boring.
- I achieved an objective of learning a little about
Java. Now I can dive into the language with greater
confidence. Thanks Dave for covering such many topics in short
time. I really learned a lot in this class.
What made you stay in this course?
- Start the projects early and leave plenty of time to
learn the concepts. Use the notes to get pointed in the right
direction and the javadocs for the details.
- Don't delay starting on projects and TEST your projects.
(OK so that's two).
- Make sure you turn in your POA's.
- Make sure you have the time to put into it, if you do
it's a lot of fun.
- Put in a little extra work when you first write your
code, make it more maintainable for future use and upgrades.
And always think from an OO point of view.
- Know some basic UNIX and VI or emacs for the projects.
There's a quiz on C on the first day of class. Three's also a
quiz on UNIX. Update your resume.
- Look at Dave's examples on the web.
- Take care of quiz, POA, and Exception handler.
- Budget a lot of time and start the assignment
- Be sure to test all projects thoroughly and don't forget
- Read the lecture notes before the class.
- Start on your weekly projects early.
- Start projects on time, always test a lot before turning
in the projects.
- Give yourself enough time to work on the projects and
take your time on them.
- Spend some extra time on the projects. Don't just work
to get them done. Have fun with them and experiment a
- Make sure you like coding. You do a lot (which I think
- Particularly by the last two projects, give yourself
50-100% more time than before to complete them. Don't be fooled
by the small one-week ones into thinking thats the amount of
- I would tell some that they had better be very sure that
a particular method does not already exist before they write the
same function in C++ style code.
- If you know C++ well Java will be easy. If you can make
sense of classes in C++ you're well on your way to learning Java
and you'll get a lot out of this course.
- If you want to learn networking programming and GUI, take
Java. Also, make sure you have some time to do the
- Don't miss the chance. Not only is Java cool, but I
think the course is an excellent model of how a class can and
should be taught.
- Be prepared to work hard. Download Forte for Java or
something equivalent. Makes coding much more easy.
- Be prepared for "black box" testing as the means for your
- Start the programs ASAP. Some take a bit longer than you
- Spend a lot of time going through the API's and Dave's
code to understand how things work.
- Take when it is not once a week and start programming as
soon as possible.
- Take the class, you will learn a lot. Unlike many
other CS classes.
- Be prepared to write programs!
- Error check your program thoroughly.
- Prepare to write a lot of codes.
- Take the class its a lot of fun. Before choosing to do
the GUI program vs. the networking make sure you have time to
complete the GUI. But the GUI program was fun.
- Make sure he/she has time to do the assignments, and tell
him/her to take it.
- "This is not easy like CS161, 162, or 163. It's as hard
as 202 w/just as much work. Don't wait to start your
- Start early, write modular code, compile often, use
- This is not a class for newbies.
- Get ready for a lot of hours programming. Read the JDK
and get used to UNIX.
- Enjoy the class and don't stress out. Only work hard on
- I wanted to learn Java and I wasn't going to leave before
I had a good foundation. The lectures were good and useful and
the projects gave me the challenge I needed to learn.
- I plan on using Java in the future to program with either
for fun or for profit. (or both)
- I liked the subject, and I needed the 4 credits for
- I knew I'd be at a disadvantage in industry if I didn't,
and I like Java.
- Dave!, you're the best instructor I've ever had.
Oh, and I also need this course as an upper div.
- I learned a lot that I think will be useful in the
future. It's the most work I've done in a while without being
paid for it. It was only occasionally exasperating.
- Dave is funny and I enjoyed the assignments and learning
a new language.
- You clearly explain the Java language, and the teaching.
That I can handle Java a little bit more day to day.
- I really wanted to learn how Java had evolved since 1.1.
This class seemed well focused on discussing the major aspects
of the language rather than just showing syntax.
- I thought the course was very interesting and the
knowledge of Java will help me in the future. I hope!
- Java become popular and this class is interesting. After
first several small projects, I actually feel my life is getting
better especially I finished the first assignment about Abstract
- Interest in topic. Good teaching format.
- The interest in learning more Java.
- I have enjoyed this course, as well as learned a new
programming language. And I have enjoyed using Java.
- Well, I don't like to drop courses, but I enjoyed doing
the projects, so thanks to you I am way behind on my compilers
class that I wouldn't mind dropping.
- How awesome Java is (really). Plus, I tend to finish
things I start.
- Financial reimbursement requirements by working. Degree
req. by the dept. Enjoyment of the teaching style, particularly
the approachable nature of the teacher & the lack of emphasis on
- I enjoy the more difficult high level programming
- I never intended to drop the course, but I mostly wanted
to learn more object-oriented programming and to learn Java
because it seems that Java is becoming more and more
- My ambition to learn Java and the great teacher.
- Weird question. I don't usually drop courses. Consider
asking people who left why they did so.
- Doing projects was fun.
- Good teaching, language is fun, materials were excellent,
and the assignments were actually meaningful. I also had no
- Nothing. I enjoyed it. Java Rules!
- The Instructor is cool and the class is set up in favor
of the students. This class is a very good learning environment
and Java is cool!!
- I need I learn a lot and at time I liked it ("note all of
program is a head ache at some point")
- As masochistic as this sounds, I like to grit out tough
- I stayed in the course because Java is an interesting and
powerful language for object oriented programming, XML
programming, network programming, and GUI programming.
- I stayed in this course because I wanted to improve my
object-oriented programming skills.
- Java's good organization in Object Oriented, and I won't
deal with pointer or memory allocation like C and C++.
- I wanted to learn Java.
- Fun, I learned a lot and for some reason I like to sit up
late nights programming.
- I love Java! Great Documentation on web and really the
class is such a nice break from C/C++. So much newer and
"current." (Plus, Dave you really are an awesome
- It was fun and I was learning.
- I really enjoyed the course. I learned a lot and had a
- Java is a great language to learn.
- 1. Projects were interesting. 2. I wanted to learn Java.
3. Teacher is cool. 4. Grading was fair.
Well, I can never accuse my students of not having their own
opinions. If you want to hear more of my students reactions to my
course, you can check out what they had to say in the fall.