Is there a good course online where I can learn how to program in Java?

<p>Or C++?</p>

<p>Or is there a better way to learn?</p>

<p>I haven’t taken a programming course for 35 years…so I forgot everything. :)</p>

<p>How long in time or how many courses does Sam think I would have to take before I am able to write a program in Java that can do this function…</p>

<p>If A occurs…then do B?</p>

<p>And…if A,B, and C occur…then do D?</p>

<p>

</p>

<p>How complex are A, B, C, and D? If they’re trivial, a few days.</p>

<p>I suggest a visit to the MIT Forum.</p>

<p>Harvard: Introduction to Computer Science I</p>

<p>Computer Science 50: Introduction to Computer Science I is a first
course in computer science at Harvard College for concentrators and
non-concentrators alike. More than just teach you how to program, this
course teaches you how to think more methodically and how to solve
problems more effectively. As such, its lessons are applicable well
beyond the boundaries of computer science itself. That the course does
teach you how to program, though, is perhaps its most empowering
return. With this skill comes the ability to solve real-world problems
in ways and at speeds beyond the abilities of most humans. Visit us on
the Web at <a href=“http://www.cs50.org%5B/url%5D”>www.cs50.org</a>.</p>

<p>[Harvard</a> College’s Computer Science 50: Introduction to Computer Science I - Download free podcast episodes by David J. Malan on iTunes.](<a href=“http://itunes.apple.com/podcast/harvard-colleges-computer/id263483352]Harvard”>http://itunes.apple.com/podcast/harvard-colleges-computer/id263483352)</p>

<p>C++</p>

<p>The instructor has a lot of energy and it looks like a fun course.</p>

<hr>

<p>Indiana-Purdue University</p>

<p>CSCI 230 Computing I (Standard C), Lectures and Powerpoint Presentations
[CSCI</a> 230 :: Computing I Distributed Lectures](<a href=“http://wally.cs.iupui.edu/csci230/]CSCI”>http://wally.cs.iupui.edu/csci230/)</p>

<hr>

<p>Stanford: Introduction to computer science | programming methodology</p>

<p>This course is the largest of the introductory programming courses and
is one of the largest courses at Stanford. Topics focus on the
introduction to the engineering of computer applications emphasizing
modern software engineering principles: object-oriented design,
decomposition, encapsulation, abstraction, and testing. Programming
Methodology teaches the widely-used Java programming language along
with good software engineering principles. Emphasis is on good
programming style and the built-in facilities of the Java
language. The course is explicitly designed to appeal to humanists and
social scientists as well as hard-core techies. In fact, most
Programming Methodology graduates end up majoring outside of the
School of Engineering.</p>

<p>[Stanford</a> School of Engineering - Stanford Engineering Everywhere](<a href=“http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111]Stanford”>http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111)</p>

<hr>

<p>MIT Structure and Interpretation of Computer Programs</p>

<p>[Structure</a> and Interpretation of Computer Programs, Video Lectures](<a href=“http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/]Structure”>Structure and Interpretation of Computer Programs, Video Lectures)</p>

<p>This is pretty old (check out the clothes and hairstyles) and it’s done
in LISP. I believe that the current course is done in Python. It should
be available on MIT OCW - I don’t know if they have the Python course
on video.</p>

<hr>

<p>Berkeley Structure and Interpretation of Computer Programs</p>

<p>CS 61A - Spring 08 - The Structure and Interpretation of Computer
Programs - Spring 2007. Introduction to programming and computer
science. This course exposes students to techniques of abstraction at
several levels: (a) within a programming language, using higher-order
functions, manifest types, data-directed programming, and
message-passing; (b) between programming languages, using functional
and rule-based languages as examples. It also relates these techniques
to the practical problems of implementation of languages and
algorithms on a von Neumann machine. There are several significant
programming projects, programmed in a dialect of the LISP
language. Video of lectures available at
webcast.berkeley.edu/courses.The Structure and Interpretation of
Computer Programs - Spring 2007. Introduction to programming and
computer science. This course exposes students to techniques of
abstraction at several levels: (a) within a programming language,
using higher-order functions, manifest types, data-directed
programming, and message-passing; (b) between programming languages,
using functional and rule-based languages as examples. It also relates
these techniques to the practical problems of implementation of
languages and algorithms on a von Neumann machine. There are several
significant programming projects, programmed in a dialect of the LISP
language.</p>

<p>This is in Scheme.</p>

<p>[UC</a> Berkeley Webcasts | Video and Podcasts: CS 61A](<a href=“Webcast and Legacy Course Capture | Research, Teaching, and Learning”>Webcast and Legacy Course Capture | Research, Teaching, and Learning)</p>

<hr>

<p>University of South Queensland: Object Oriented Programming in C++</p>

<p><a href=“http://ocw.usq.edu.au/course/view.php?id=13[/url]”>http://ocw.usq.edu.au/course/view.php?id=13&lt;/a&gt;&lt;/p&gt;

<p>I know the order that these programs are learned in HS. Basic, C++ then Java. Both of my guys skated through the first two and then had to work to get Java.</p>

<p>Kathiep…interesting…</p>

<p>The order isn’t that important though there are different schools of thought on which languages should be emphasized. BASIC is de-emphasized today as a mostly older language not in widespread use. It is an easy language to pick up though.</p>

<p>C++ is a complex and difficult language to master. A lot of C++ courses just teach the basics, similar to C functionality. I like this article on the language wars: [The</a> Perils of JavaSchools - Joel on Software](<a href=“http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html]The”>The Perils of JavaSchools – Joel on Software)</p>

<p>I prefer C, and C++, because they run close to the hardware and I think that programmers should have an appreciation for the hardware and the architecture to understand the environment that they are working in and to understand why some things may be very fast and others very slow. You don’t get that with Java. Java has a lot of things going for it but you lose a little something with power steering. That article is loaded with insider jokes.</p>

<p>BCEagle91, from the parts I understand, great article thanks.</p>

<p>I’m not trying to become a professional programmer.</p>

<p>I’m just trying to have a little fun and maybe do a little programming. A little. From reading the article…I’m thinking Java.</p>

<p>For Java, my son mostly taught himself from books like Java For Dummies. I think an AP review book might help too. We had a hard time finding good books for a middle school kid and universities didn’t have nearly as much on line back then.</p>

<p>

</p>

<p>I wouldn’t recommend Java for this. When I was learning how to program Java, we spent a lot of time on OOP which doesn’t seem necessary for you, or at least it seems like it. AP Books (which cover Java since that’s what the curriculum uses) will spend a lot of time on OOP, and in general aren’t very useful practically - the “main” function isn’t covered, and neither is input or output. And in general dealing with input in Java is pretty difficult and non very intuitive compared to other languages.</p>

<p>But, you should definitely try to learn from a book at first, since it should be pretty doable and a lot less expensive than a class.</p>

<p>So which language should I learn if Java isn’t intuitive?</p>

<p>The problem isn’t with the language; it’s with the AP books that use an OOP approach.</p>

<p>I think that the Kernighan and Ritchie C book does a pretty good job at getting in the basics. It’s a fairly thin book from the 1970s that does a fairly good job at getting you started and stays far away from OOP. I guess that you need to find something similar for Java.</p>

<p>The trend in programming books is to create 1,000+ page books that have everything thrown into them - I guess people will pay more money for bigger books.</p>

<p>I’m not a big fan of Java even though I should be so I’m not really familiar with the textbooks out there. We do have a number of Java books in my bookshelf but I don’t like any of them</p>

<p>If your prior programming experience was pre-OOP, is might be better to start with a language like Visual Basic, just to get back into it. Then progress to Java. Check your community college for online modules, or look at lynda.com</p>

<p>He has no prior programming experience.</p>