CS 145 Lecture 35 – Data Analysis
Dear students, People often ask, “What can I do with computer science?” I usually splutter and stammer out an unconvincing answer, because the answer is pretty much anything. Your choices are many, and they widen near our nation’s larger cities. Some people fear that they will be spending all their time at a computer, but […]
CS 352 Lecture 36 – Pipelining
Dear students, We begin today with a short baking lesson that will demonstrate the need for processing instructions differently. Suppose I need a lot of cookies. Ignoring the setup costs, suppose it takes me 15 minutes to scoop out 12 balls of dough and plop them onto a baking sheet. These then cook for 30 […]
CS 145 Lecture 34 – Slideshow
Dear students, I’ve said several times that object-oriented design helps us organize our code. We can put code and the data that it regularly processes together into the same chunk. Objects allow for the separation of concerns. Class A can focus on its task, and be very good at it. It can be tested and […]
CS 352 Lecture 35 – Caching Strategies
Dear students, We looked last time at how our code will perform better if we capitalize on temporal and spatial locality. Sadly, we cannot avoid misses altogether. Caches are finite storage, and their designers must decide where blocks from memory will go in the cache and how long they will stay there. As you’ve done […]
CS 145 Lecture 33 – Stopwatch
Dear students, As we saw with methods, a primary benefit of object-oriented programming is code reuse. We can create a utility and use it over and over again, in many contexts. We will do just that by designing a Stopwatch class. We will use it to time a few operations: a words-per-minute calculator the amount […]
CS 352 Lecture 34 – Memory Hierarchy Cont’d
Dear students, Last time we introduced the memory hierarchy. This hierarchy is not unlike a league of superheroes, each with its strengths and weaknesses. But the weaknesses are minimized, as long as you rotate in the proper superhero for each villain you encounter. For the memory hierarchy, the goal of stacking together these technologies is […]
CS 352 Lecture 33 – Memory Hierarchy
Dear students, Here’s the situation: our processors typically have somewhere between 4-30 general purpose registers. In a load/store architecture like ARM, computation can only be done on registers, and 4-30 pieces of data is simply not enough. Why not, then, make a computer with millions of registers? There are several reasons: Registers are identified within […]
CS 145 Lecture 32 – Objects Cont’d
Dear students, In object-oriented programming, the programmer is really a writer of screenplays. Objects are our actors, which we orchestrate around the stage. We cue them to say certain things, have them interact with other objects, and shape them to have an identity that is all their own. Today, we’ll feel our away around the […]
CS 491 Meeting 11
Dear students, We are in the working phase of developing our games, so most of our time will be spent giving weekly progress reports. Here are some questions we will probably ask you: What’s the riskiest part left to investigate in your endeavor? What three or more specific things will you accomplish before we meet […]
CS 145 Lecture 31 – Hello, Objects
Dear students, We’ve seen the Computer as a Calculator, a Chef, a Philosopher, a Pilot, and a Factory Worker. We’ll see it in two more roles: a Scribe and a Creator. A scribe is literate, recording accounts and memories for later retrieval. We’ve already seen how we can use Scanner to retrieve data from a […]