CSCI20 — Programs and Algorithms I

The first in a two course Programs and Algorithms series.  In this class we studied the Java Programming Language and got a bit further into object-oriented programming (OOP) by applying the concepts of classes, inheritence, and simple algorithms.  Java is a really nifty cross-platform language that, while showing its age in certain ways, has held up better than most programming languages over the last couple decades.

The class got off to a really bad start because our instructor had apparently been charged with teaching it at the last minute for some reason or another.  He was not a Java programmer and also didn’t feel very obligated to try to become one.  It’s not a good sign when you are told by the person who is supposed to be guiding you through new, challenging material that that the programming language you are trying to learn is “terrible”.  I skipped out on class most of the time because otherwise I would have been traveling 500 miles a week for nothing.  Fortunately the department chair of the Computer Science department at Butte had already constructed a rock solid interpretation of the curriculum and everybody–students and teacher alike–was using this to navigate haphazardly through the course.

It was nice to finally get to do some programming in school again.  I was already familiar with nearly everything that was covered, but programming feels less like work to me than say determining the modulus of elasticity for an A36 steel sample with a cross-sectional area of 4.5cm (this is Materials Science chatter).  Shasta College has almost nothing in the way of Computer Science courses so being able to take something like Programs and Algorithms I was a nice change of pace.  I still got a lot out of the class, but I might have been the only one.  For immediate purposes this was just a way for me to write some code and get some school credit in the process.  For the long term, this was to make as many Computer Science classes show up on my transcript as possible to ensure acceptance into my intended program/major at UC Berkeley.

Projects

Project 01 Program
Project 01 Code A
Project 01 Code B
Project 02 Program
Project 02 Code A
Project 02 Code B
Project 02 Code C
Project 02 Code D
Project 03 Program
Project 03 Code A
Project 03 Code B
Project 03 Code C
Project 03 Code D
Project 03 Code E
Project 03 Code G
Project 03 Code F
Project 03 Code H
Project 03 Code I
Project 03 Code J

Assignments

Pencil & Paper 01
Pencil & Paper 02
Pencil & Paper 03
Pencil & Paper 04
Pencil & Paper 05
Pencil & Paper 06
Pencil & Paper 07
Pencil & Paper 09
Pencil & Paper 08
Pencil & Paper 10
Pencil & Paper 11
Pencil & Paper 12
Pencil & Paper 13
Pencil & Paper 14