Governor's Career & Technical Academy Arlington

CSC 215 Weekly Assignments: Week 20

CSC 215


Overview

This is it, the last week of CSC 215: Computer Systems! We explored a lot this semester, and hopefully you are leaving this course with a much deeper understanding of what computers are and how they do what they do. We'll tack on next Tuesday to this last week. When you come in at the start of February, you will be in CSC 223: Data Structures and Analysis of Algorithms.

That said, from a practical point of view you won't feel any difference, since we've fused these two courses together in our study plan, and have already made the transition from this course, with its computing enviroment very much part of the 20th century, to the next one, leaping 50 years forward.

To recap and for easy reference, here are the project groups:

  • BigInts: Ved, Anfal, Trostin, Jamethiel, Anar, Cody, Luis, Marin, Adonis, Johan, and Isaac
  • Cards:Turner, Parker and Akshay
  • Arbitrary Precision Rational Numbers: Caleb

Wednesday, Friday, and Tuesday, January 22nd, 24th, and 28th

Classwork / Homework / Evaluation

Evaluations of your git repos were less than stellar overall. We've been struggling in this class with an outbreak of senioritis and sadly, it shows :-( I guess if y'all are already admitted to the colleges you want to get into, than all you need to to is not fail, so I'll need to adjust my expectations accordingly. The grade distribution was: A: 4, B: 1, C: 4, D: 4, and E: 2.

I still need to hold you accountable, even if you no longer plan to hold yourselves accountable, so unless things change, expect your grades to decline. I assert that you can only learn to program by programming, so putting in the time is essential if you want to learn to program and be ready for what you will be expected to do after you leave ACC (Jelkner gets down from his soapbox).

Our hardworking, overachieving friend José Ejemplo put in 5 hours working on BigInt this past weekend, and he got the overloaded + operator to work for positive BigInts as well as helping me prepare today's lesson.

I'll take a few minutes to describe how he did it, including taking a look at his commit history. I've mentioned in class several times now the quote Uncle Bob shares in his book Clean Code: A Handbook of Agile Software Craftsmanship by UML creator Grady Booch who said,

Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer’s intent but rather is full of crisp abstractions and straightforward lines of control.

For those of you who aspire to become highly skilled software engineers, I encourage you to read over the blog post by Brian Norlander, Stop Writing Code Comments.

Your final evaluation for this course will be done immediately after class ends on Tuesday, January 28th, and will consist of two parts:

  1. A process grade (50%) that will be evaluated as we have been, based on the evidence of regular engagement and an iterative development process in your git repo.
  2. A product grade (50%) that will evaluate how well you deliver a working, well written software application which will be evaluated using this rubric.