I just graduated with a BS in CS last spring after doing a 150 page research project on test suite ordering for JUnit. Fun times, really. Getting a job wasn't easy, and I'm not exactly in CS atm... though I still use Java to do some tasks that I'd rather not do manually.
At 9/30/09 08:21 AM, BananaBreadMuffin wrote:
I use netbeans solely because I do all of my work in the labs at uni (open 24/7, yay) and they have netbeans on. It's good enough. What's the auto-complete do in eclipse?
omg, auto-complete is amazing XD
No only does it provide auto complete for the basic java api, but you also get it for anything you right. Any time you use the . on an object, a list pops up next to the cursor that is narrowed down alphabetically as you type until you find the function you want. On top of that, the java docs are displayed next to the list for the currently active function. You rarely need to open a browser to look more in depth into an object.
But the really nice features include the auto formatting for comments, the refactoring, the ability to produce javadocs and junit test suites inside. You can also use Eclipse for c++ development, and I managed to do some action script development in it as well, though I wasn't crazy about it.
My major consisted of the following:
Intro to CS111 & CS112 (Both used java, the first 111 was about how to program, the second was about how to study your programs)
200 level courses:
Programming Languages (wrote a compiler for Scheme (similar to lisp))
Algorithms (Learned different algorithms and big-oh notation and how to calculate efficiency, also did some RSA work)
Intro to Software Engineering: Created an opensource project for reordering test suites and graphing the results (led to my final project)
Theory (Finite state machines and all that jazz)
Fundamentals (First C class, did some mips, learned about pointers and binary, etc)
300 Level courses:
Graphics (Image recognition, Fractals, OpenGL, Screen Savers, Pythod3d, Generating 3d landscapes randomly)
Databases (Mostly relational databases, studied XML a bit and XML databases, SQL, MySQL)
400 Level course:
Operating Systems (Mostly talked about scheduling, threads, interrupts and race conditions along with Unix shell commands, unfortunately not very hands on)
I also did a bunch of tutoring and worked a little with robots with a professor my senior year. Learned a little bit of Occam.
Currently learning how to program multi threaded programs in Java and developing my own NIO Server. Its working so far, I hope to load test it soon.