Systems LABS#

Lab 1 - Hardware and Software#

Purpose and Task#

General Description: In this lab you will explore our most commonly used devices, the laptop and the cell phone. Over the course of the lab we will dig into the hardware and the software of these devices. (Recall the first lab where we explored the app layer, now we are going to dig deeper and compare the cell phone with the laptop).

Why am I doing this? The goal is for your laptop to fit you like a glove. By that we mean that you know how to use it in and out and in a sense it becomes and extension of you. For most first year students you are at that level with your cell phone but not your laptop. The needs of Data Science with regards to your laptop are much greater than running apps and browsing the web. This lab is our first foray into that larger world.

Course Learning Objective Alignment: Identify the hardware and software components of a computer and describe their function

Course Learning Objective Alignment: Describe the different scales of computer operation

What am I going to do? This lab will guide you through exploring your devices and recording different technical specifications. Some of them may surprise you when comparing your laptop to your cell phone. Then you will analyze the data you collected and make a visualization for presentation. You will then repeat this process for the software. Finally you will compose a takeaway, something to focus on going forward that you want to improve.

Lab Exercise Details#

Part I - Hardware#

  1. Find and record the following information for your laptop

  • CPU Cycle rate (GHz)

  • CPU Number of Cores (Int)

  • RAM (GB)

  • Disk size (GB)

  • Operating System

  1. Repeat step 1. but for your cell phone.

  2. Using the colored pencils provided or your own supplies create a visualization showing the similarities and differences between your laptop and cell phone specs.

  3. Fill out this survey - https://forms.gle/EY1cRzu1DFxzCW4ZA.

Part II - Software#

This part is for your laptop.

  1. Open the Task Manager (WIN) or Activity Monitor (MAC)

  2. Sort by CPU usage and note the top 5 processes

  3. Sort by Memory usage and note the top 5 processes

  4. Take a moment and reflect on these two lists, are the processes the same? different? What do you notice?

  5. Create another visualization showing these apps and their utilization of the computer resources.

Part III - Submission Details#

Create a single slide for presentation and upload it in pdf format. The slide must contain

  1. Name, class, date, assignment

  2. Your hardware visualization

  3. Your software visualization

  4. Your takeaway (same format and spec as the READ rubric takeaway)

Lab 2 - Battleship#

Purpose and Task#

General Description: In this lab we will play the game Battleship. As you play and try to win you will create a series of algorithms and practice following them exatly.

Why am I doing this? Computer hardware executes the instructions you give it. The hardware cannot make judgement calls and do “what you want it to do”, it does “what you tell it to do”. There is a big difference. In this lab you will get to experience that challenge directly. By creating an algorithm and then implementing it without the ability to correct errors you will gain an appreciation for the challenges of hardware and software work.

Course Learning Objective Alignment: Identify the hardware and software components of a computer and describe their function

Course Learning Objective Alignment: Describe the different scales of computer operation

What am I going to do? You will play Battleship, a lot. In doing so you will develop a strategy to win. Then you will encode that strategy into a set of instructions. Then you will have to implement those instructions to try and win. You will iterate and improve as you learn. Finally you will produce a pdf with the results from the lab for submission.

Lab Exercise Details#

Part I - Learn the Game - 5 minutes#

The goal of part I is to understand the rules of the game. Once you understand the rules advance to part II. Don’t worry about finishing a game, just play till you get it.

Part II - Create a search algorithm and test it - 35 minutes#

we will now play battleship with two rules modifications. Use a 4x4 grid (A-D,1-4), and use two ships, one ship of length three and one ship of length 2.

  1. Take a moment and think about a strategy for playing battleship.

  2. Write down a set of instructions for deciding which grid square to target next.

  3. Play another game and follow your instructions exactly when deciding which square to target. And I mean exactly. Don’t change them, just play them.

  4. Note where the algorithm works well and where it does not.

  5. Refine your algorithm and play again. (repeat as many times as you can given the time allowed)

Part III - Reflect - 10 minutes#

  1. Describe your initial algorithm. State the goal and the strategy behind it. Then give a detailed description of the steps.

  2. Describe where your initial algorithm failed and explain why.

  3. Describe the changes you made to your algorithm and why.

  4. If you had to start all over, knowing what you know now, how would your approach change? (n.b. this is not asking for how your algorithm would be different, it is asking about your strategy to figuring out your algorithm)

  5. Your takeaway (same format and spec as the READ rubric takeaway)

Lab 3 - GPU#