Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Jam2
Jan 15, 2008

With Energy For Mayhem
Guys, Does this 7-week course in Java seem like a worthwhile endeavor for a relative noob?

quote:

Intensive Introduction to Computer Science Using Java

Henry H. Leitner and David G. Sullivan.

Class times: Mondays-Fridays, 8:30-11:30 am. Required sections to be arranged.

Course tuition: noncredit, undergraduate, and graduate credit $5,280.

This course is a serious, fast-paced first course in computer science, designed for students who plan to work extensively with computers (for example, engineers, biologists, physicists, and economists), as well as future concentrators who plan to take more advanced courses in the field.
Using Java programming language, students learn problem-solving strategies through the development of algorithms that emphasize modern, object-oriented designs (including encapsulation and abstract data types). Related topics cover

recursion and
recursive backtracking,
file I/O,
exception handling, and
graphical-user interfaces. This course also covers fundamental
data structures, including
lists,
stacks,
queues,
trees, and
graphs, and it examines classic
algorithms that use these structures for tasks such as
sorting,
searching, and
data compression.

Techniques for analyzing the efficiency of algorithms are also studied. Problem sets require a minimum of 20 hours of programming each week in a Unix environment. Graduate-credit students are expected to complete additional work. This course provides complete coverage of the syllabus for the advanced placement examination in computer science. Prerequisite: familiarity with precalculus.

(8 credits)

Harvard Summer School 2011

Adbot
ADBOT LOVES YOU

Jam2
Jan 15, 2008

With Energy For Mayhem

lamentable dustman posted:

What are you trying to get out of it? If going for a CompSci degree does it take the place of 100 level courses? It seems pretty brutal but if you have programming experience it shouldn't be that bad.
Yes. I am going for a cs degree. This fall I will be a junior. While I have taken a poo poo ton of math and general requirements, I have yet to take a single programming course.

At my current school, I was informed that this course will only substitute the first intro to java course in the sequence. While s111 will cover algos and data structures, presumably in greater depth than my tier 3 college, the tier 3 college cycles 4 languages (java, c++, etc.) in the sequence to cover the material. With this course I will have only seen java, so the department won't give me credit for anything more than the intro java course.

However, I plan to transfer in the fall anyhow. Staying here is a backup plan. I guess my concern is the same anywhere i go.

Even if I don't get to skip ahead in the fall, I am dying to dive into programming so I can start programming independently. I'd like to be contributing to open source projects by December and be completely proficient in java, C, and python by next summer. If I wait until the fall to study this material, I feel like I risk setting myself back.

My reason for posting here is to ask, what will I be able to do by the end of this course? Will I be completely proficient in java or are there advanced concepts i still will not have touched by the end of the 8 cred course?

Jam2
Jan 15, 2008

With Energy For Mayhem

epswing posted:

That's an understatement...

http://norvig.com/21-days.html

Understood. I will view the experience as a way to get my feet wet in a challenging, structured environment. I assume my peers will be at a similar starting point with similar trajectories/ambitions.

My question is pretty much about rigor. I don't want to waste my time with a trivial introduction. This course positions itself as a challenging introduction. I am looking to you guys for an assessment of that.

Jam2
Jan 15, 2008

With Energy For Mayhem

lamentable dustman posted:

This won happen for all the reasons other guys said, it takes a while to get proficient in just one language. And honestly, if you had the motivation to do OS programming you would of been learning on the side already.

I am (learning on the side) and I do (have the motivation). If it weren't for my 150% college course load and research obligations, I would spend every waking minute solving Euler problems and writing programs. I had an extra credit assignment for a Calculus class. I used logmein to write a monte carlo simulation from my iphone. It ran on the first try. I actually didn't even know it was called a monte carlo simulation until my professor graded it and gave me feedback. I'm a complete newb, but programming comes naturally to me and I really enjoy doing it. I want to do this for a living, so all of these plans are being made with this goal in mind.

I understand the view that it is not possible to become proficient in under X years. While I appreciate that feedback (and I have accepted the reality), no one here is really in a position to judge my intent/motivation/capability.

Jam2
Jan 15, 2008

With Energy For Mayhem

Contra Duck posted:

I think you don't really understand the size of a language like Java. Seriously, look at all of this. Ignoring the rapid pace at which new features are added, complete proficiency in these things alone would take DECADES. You might be able to become a passable programmer in the space of a year if you work hard but when you throw around terms like 'complete proficiency' you're demonstrating that you don't fully grasp the scope of what you're trying to achieve.
Well, gently caress.

Jam2 fucked around with this message at 10:35 on Apr 8, 2011

Jam2
Jan 15, 2008

With Energy For Mayhem

zootm posted:

Almost none of those are actually relevant to Java the language, though (not to mention the number of them which supersede other entries). Java is not especially complex to learn as a language, and most of the APIs are irrelevant to most people. Getting a good grasp of the the core language itself and maybe the collections libraries, as well as a good grounding in programming in general (learning another language is more important than learning most APIs, even if they're the ones you end up using), is more than enough to claim proficiency in Java as a language.

Working on some real projects (another important step) will give you experience with common APIs, but more importantly it will teach you how to learn about these APIs, because learning every API available to Java (especially given how many of the ones listed are often replaced with third-party alternatives) is a pointless and herculean task. Memorising APIs, especially those irrelevant to the tasks you plan to perform, is the very definition of a fool's errand.

To me, proficiency means being able to use tools available to solve problems and write good code as a valued contributor within an engineering team. It means being able to hold your own in a work environment full of experienced programmers. It means being able to bring something to the table. This is my three to four year goal.

If you guys dont want to call this profiency then feel free to replace the word with something else you deem more fitting. I don't want to argue about semantics. I'm here to learn.

Jam2 fucked around with this message at 12:59 on Apr 8, 2011

Jam2
Jan 15, 2008

With Energy For Mayhem

tef posted:

actually no matter how smart you are or curious, if you're a dick to people, and can't write for poo poo, you won't get far. real software is written by groups, collaborating.
A truly intelligent person is capable of effective communication.

Adbot
ADBOT LOVES YOU

Jam2
Jan 15, 2008

With Energy For Mayhem
Harvard CTO, Jim Waldo is coming in to speak to my intro java class tomorrow. He was on the team that developed the Java programming language at Sun back in the day.

What question, if anything at all, should I ask him? Is there anything you guys want to know about Java or Sun?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply