Dec
28
2008
0

A Small Project

As per my last post about the Stanford engineering classes I’ve been taking online, I’m going to upload a small project I’ve been working on to help me get my head around Java programming. The instructor had shown an in-class example of how to do animation in Java. His example was just a single ball that bounced across the screen in a set path, and the animation ended. I decided to take this a little bit further, adding a (really) rudimentary physics engine behind it all, the ability to generate new balls with mouse clicks, random initial velocity with a random number generator, and wrapped it all up in a neat little applet. I also learned a little bit about multi-threading and frame buffering (I had to do this to smooth out the animation).

But seriously, the physics engine is pretty bad for ball collisions. If any collision happens, at any angle or velocity, the two colliding balls just swap velocities and continue on. This only really looks accurate for head-on collisions, but I just didn’t feel like doing all the vector math to make it look “proper” as this wasn’t intended to be an exercise in math, but rather programming. Anyways, All you’ve got to do do have a grand ol’ time is just click in the box below. Ignore the “frame xxx” counter.. that’s just counting the frames of animation that the applet has processed. I never took it out.


Oh, and here is a link to the source code if anyone is interested.

Dec
24
2008
3

Stanford Engineering Everywhere

I came across a link on digg some time ago for Stanford University’s “Stanford Engineering Everywhere” program. It’s more or less an open-source education. Stanford puts their more popular engineering classes entirely online. We’re talkin’ handouts, tests, homeworks, solutions, and videos of each lecture. I think this is the coolest idea ever because it allows anyone to essentially take a class at one of the best universities in the nation (for free!).

Now, since I’ve finished my finals for this semester (at the University of Minnesota), I’ve decided to go ahead and attempt to “take” one of these classes and see how it goes. No, I won’t actually receive any kind of credit for this. This is all just for the sake of knowledge here. The class I’ve decided to take is CS106A – Programming Methodologies. It’s more or less an intro Java course, but it’s focused on promoting “good practices” in coding. The course is going great so far. I’ve watched the first 11 lectures out of 28 or so. The professor is engaging, funny, and explains complex things in a down-to-earth manner than anyone can grasp. I highly recommend this if anyone is interested in programming at all. The course is taught with the assumption that you don’t have any previous programming experience.

I may end up posting a project or two that get inspired from this class. Some of the homework assignments actually seem fun. One of them is an arcade-style breakout game, albiet a simple one.

Dec
22
2008
0

AVR-Eclipse

I just discovered a wonderful new integrated development environment (IDE) for my microcontroller projects. Well, actually, it’s an old IDE, but I discovered a new plugin for it. The avr-eclipse plugin for eclipse.

Avr-Eclipse Plugin for Eclipse

Avr-Eclipse Plugin for Eclipse

This thing is great (see the screenshot). You get all the fancy-shmancy auto-formatting, project handling goodness and slick GUI of eclipse, yet it will still directly burn your .hex to your AVR micros with a single click. Oh yeah, and it runs in linux :p.

You will, however, need to install the rest of your toolchain (avr-gcc) separately, and the website has a guide to do this. I just got my first blinky LED program going as seen in the image above, so I know the whole deal works. Next task is to get in-circuit-debugging working. (I think this is supposed to be supported..)

Site: http://avr-eclipse.sourceforge.net/

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com