Previously on CS399J...
We had a good a group that learned a lot about Java and web
programming. Here's what the student thought of it.
- What do you wish you had known before taking this
course?
- More about generic classes. I don't know how I did it, but I managed to do that LRUMap with little difficulty. But other than that, it was perfect.
- Maven
- maven
- More about maven.
- more about maven, jetty, and gwt.
- I wish I knew maven... That would have make things flow much better
- I wish I had been more familiar with Java project management tools like Maven. I feel I spent too much time on the Maven learning curve instead of focusing on the assignment at hand. But oh well -- I am familiar so its ok =)
- some exposure to maven would have been a big plus.
- I wish I had known anything about using Maven or the Google Webtoolkit, mainly. For the most part I feel that I knew enough about Java, and the class itself did a very good job of teaching me how to work with it better.
- Better knowledge of the existing Java tool chains, including Eclipse, Maven, Ant, etc.
- Nothing really. Just needed more time to do the assignments. Well, I would have spent some time to get to know maven a little before the class.
- I wish I had known more about exception handling.
- I wish I had better knowledge of web technologies, server/client communications, and how databases work and are used within web applications.
- I liked using eclipse for editing my code. I wish that I had some better understanding of the linux environment so I could pull files from your repository. Instead I had to manually download them so I could work without an Internet connection.
- I wish I was more familiar with Maven before starting the course. The fighting with Maven to create web projects was very frustrating.
- I wish I knew more about interactions with unix programming enviornments and tools.
- I wish I knew a definitive pattern for handling command-line argument parsing in Java. After the first couple phases of the project, I finally settled on a generic approach that allowed me to extend the supported optional/required arguments easily. But it took more effort than I first thought.
- That IDE's are our friend.
- What is the most important thing you have learned in
CS399J?
- If I have to pick one, it is Servlets. I already own a couple of books on it, but haven't had time to open them are read. The gwt application of servlet technology is very interesting as well. It seems the technology for web 2.0 is growing rapidly.
- java packages..
- Java program structure. for example packages and project layout.
- REST.
- The concept of object oriented programming and building server client application, especially servlet.
- Reflection, TCP, UDP, Servlets, Junit, & I'm thinking this gwt thing will be cool once I get the hang of it
- The most important thing I have learned is by far the web programming aspects of the course. Everything from writing Java Servlets and deploying them to the Jetty Servlet Container to the Google Web Toolkit.
- class extension (abstract classes) and interfaces. I knew about them but hadn't really tried them before.
- Learning more about working with Java. Because of how popular of a language Java is right now, I feel that it is important to learn as much as I can about working with it to make it easier to find a job after school.
- Key concepts enforced by the Java language, especially effective code re-use through packages, classes and inheritance.
- How to use Maven and how abstract classes and interfaces work.
- The most relevant thing learned was the use of client/server protocols for networking/http sockets. I wish we had done more of it even.
- Generics are a powerful concept. It is a feature I wondered if it existed in a different language: I just didn't know the name of it. If I ever wanted to write my own version of a linked list, now I won't have to write a different version for each data type that I want to store within the list.
- I think the servlet assignment was the most useful. I had never done code that could be used with the Internet. The first three assignments where trivial.
- I learned a lot from the class, we covered a wide range of topics. To be honest I would say that the thing I value the most that I learned was how to use an arbitrary development tool and work with someone else's resource structures. Java knowledge was definitely gained but the experience of using your resources located on an external machine to incorporate them into the projects was something that wasn't really covered in my classes at PSU.
- The basics of java programming over the web and networks. We have all done basic type programs using standard I/O and files. But until this class using these tools for more complex applications was completly unknown to me.
- The Google Web Toolkit. I was vaguely familiar that GWT existed but I never took a closer look. Now that I know all about it, I want to start converting some of my old web app projects to use it.
- To pay close attention to compiler errors! And a bit better with OO design. Oh! and javadocs rule.
- If you could give one piece of advice to someone taking this
course in the future, what would it be?
- Read more about maven before you try to use it. It is complex and dynamic. It works differently for different applications.
- start assignments early..
- learn how to setup the tools.
- Start your homework assignments asap.
- Go to class, read the lecture and do your homework early, and most of all if you don't understand something, ask early.
- Make sure you go to the bathroom before the class starts
- Tools like Maven are supposed to make your life easier. But, it can be overkill for some projects. And the minute you realize its doing the opposite, it may be time to move on. I spent probably 6 hours trying to configure a GWT project with Maven with no success. I spent 5 minutes using the GWT Eclipse Plugin instead and was up and running. Sure I had to manually download a file by hand, and manually add a couple jars to my project setup. Like I said, sometimes a tool like that can be overkill.
- set up a good ide and learn how to use it first (especially focus on repository configuration).
- Know how to work with the Google Webtoolkit and Maven.
- Either spend time with Java IDE and build environments prior to starting the class, or be willing to spend extra time during the course learning how to use the tool chain while also learning the course material.
- Again, know something about maven and give your self some time to do the projects.
- The last few assignments are much much harder than the first few, and to be prepared to spend more time on them.
- I helps to come to every lecture and to start early on programming projects.
- Assignments are given out two weeks before they are due, don't wait until the weekend before because your code quality will suffer.
- Make sure to allow yourself time to read up on the development tools you will be using in class. Either that or to make sure to turn in your POAs.
- Don't get behind, especially if you take it in the summer.
- Write unit tests for the command line parsing portion of the projects! You will be changing this code during every point in the project, so save yourself some future head aches and write unit tests so you don't get docked a point or 2 for a really minor bug.
- Plan your homework before you start. Sounds obvious.
- What made you stay in this course?
- I had no desire at any time during the entire term to leave the course at all.
- wanted to learn more about java...
- credit. and i was very interested in gwt
- It was good practice.
- The material and the project was fun.
- I like java... I just wish the class focused a little more on j2ee and maybe using a java application server
- The relevancy of the material and the instructor are top notch.
- I've never quit a course in my life, why would I? The teacher's enthusiasm for the subject was a nice extra incentive though.
- The fact that it was interesting and I wanted to get through it.
- Because it was fun and the projects were interesting. Each project was an easy-to-digest incremental learning step. While some projects took a lot more time than expected, it was an enjoyable learning experience.
- I like the subject matter and the teacher is really down to earth.
- GWT has a very picky coding style, but at least its not javascript!
- The programming assignments were interesting and sometimes challenging. Also, it was not hard to keep paying attention in the class. In addition to that, I was eager to learn what else Java had to offer that I did not know about.
- I need the four credits to graduate next term. I also felt that, with a cs degree, you better know java.
- To be honest, I need it to graduate at the end of this term. The course certainly had its frustrating elements to it with the assignments, but it was also a valuable learning experience.
- I would rather do poorly or fail than quit. Even if you don't do as well as you like, you learn something along the way. Sometimes things even turn out better than you think it will with hard work, persistance and a bit of luck.
- Degree requirement... okay fine -- I love Java! (I really do though)
- I enjoy programming!
Want to hear what other people had to say? There are lots more comments from previous
terms.
David Whitlock