+ All Categories
Home > Documents > Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori...

Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori...

Date post: 12-Jan-2016
Category:
Upload: kory-pierce
View: 214 times
Download: 1 times
Share this document with a friend
27
Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University June 8, 2003
Transcript
Page 1: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Bridging the Gap between the Undergraduate and Graduate

Experience in Computer Systems Studies

Lori Carter and Scott RaePoint Loma Nazarene University

June 8, 2003

Page 2: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

A Special Topics Class

Designed to:•Introduce students to the “grad school” experience

•Not just more of the same

•Producers, not consumers

•Better equip students for success in industry and academia

•Introduce technical communication skills

•Introduce students to research

•Teach students how to learn

Page 3: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Class Organization

Final Project :

•Java Applet Simulation of some feature of Architecture or Operating Systems

•Used to instruct lower division students

Providing a target for:

•learning

•reading

•writing

•presenting

•research

Page 4: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Class Organization

Phase 1 (individual): Java, DOS labs 30% Technical Paper Summaries 15% Paper/Java/DOS Quizzes 15% Project Proposal 40%

Phase 2 (group if desired):

Powerpoint presentation 20% Progress Meetings 30%

Final project (paper, demo) 50%

Page 5: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Class Organization

Phase 1 (individual): Java, DOS labs 30% Technical Paper Summaries 15% Paper/Java/DOS Quizzes 15% Project Proposal 40%

Phase 2 (group if desired):

Powerpoint presentation 20% Progress Meetings 30%

Final project (paper, demo) 50%

No Textbook

Page 6: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Outline

• Introduction• Motivation• Class Organization• “Learning to Learn” Using Java

Applets• Technical Reading, Writing and

Presenting• Weekly Progress Meetings• Some Examples• Conclusions

Page 7: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Learning to Learn

A practical guide for programmerswith hundreds of complete, working examples and dozens of trails--groups of lessons on a particular subject.

Last update: May 19, 2003

Trail types: Basics | GUIs | Specialized | Online only

Trails Covering the Basics:

Your First Cup of Java: Detailed instructions to help you run your first program: UNIX, Microsoft Windows, Mac

 

Getting Started 

Learning the Java Language 

Essential Java Classes 

User Interfaces that Swing: A Quick Start Guide 

Writing Applets

Page 8: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Sample TutorialCreate a Source File.

To create a source file, you have two options:

•You can save the file HelloWorldApp.java on your computer and avoid a lot of typing. Then, you can go straight to step b.

•Or, you can follow these longer instructions:

1. Start NotePad. In a new document, type in the following code: / ** * The HelloWorldApp class implements an application that * displays "Hello World!" to the standard output. */ public class HelloWorldApp { public static void main(String[] args) {

// Display "Hello World!" System.out.println("Hello World!");

}

}    

Be Careful When You Type

Type all code, commands, and file names exactly as shown. The Java compiler and interpreter are case-sensitive, so you must capitalize consistently.

HelloWorldApp  helloworldapp

Page 9: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Sample Tutorial

What Is a Thread? A thread--sometimes called an execution context or a lightweight

process--is a single sequential flow of control within a program. You use threads to isolate tasks. When you run one of these sorting applets, it creates a thread that performs the sort operation. Each thread is a sequential flow of control within the same program (the browser). Each sort operation runs independently from the others, but at the same time.

Using the Timer and TimerTask Classes Thread programming can be tricky. Whenever possible, you should

use high-level thread API such as the java.util.Timer class introduced in version 1.3 of the Java platform. Timer and its companion class, TimerTask, are useful when your program must perform a task repeatedly or after a delay.

Customizing a Thread's run Method Basic support for threads in all versions of the Java platform is in the

java.lang.Thread class. It provides a thread API and all the generic behavior for threads. These behaviors include starting, sleeping, running, yielding, and having a priority. To implement a thread using the Thread class, you need to provide it with a run method that performs the thread’s task.

Page 10: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Applet Modification Lab

Find the code for the DateTime applet at: http://www.kevinboone.com/java_small_progs-index.html

 

Run the applet ( you will have to create your own html file )

 Modify the applet so it displays seconds in addition to

hours and minutes, and updates the time when you click on the applet. You will need to use what you learned about interfaces in the ClickMe lab.

 _________ Dr. Carter saw my modified applet run.

Page 11: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Turing Machine Applet

Page 12: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Technical Reading, Writing and Presenting

Page 13: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Technical PapersTechnical Paper Analysis (Group Work)  

Most technical papers (including the 3 you were given) have at least the following sections (not necessarily using these names):

AbstractIntroductionBackgroundMethodologyResults

For each of the 3 papers, provide the actual names for these sections:

 

 

WSClock Victim Buffers First-Fit Abstract

Introduction

Background

Methodology

Results

•What additional sections do you find in the various papers?

•For the major sections mentioned previously, what does the purpose appear to be for each section:

Page 14: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

More…In addition, good technical papers make use of figures.

•What is the purpose of the figures in each of the papers?

•How helpful are the captions? (this varies from paper to paper)

•How are the figures referred to in the text?

How would you describe the titles for each of the papers…clever…or descriptive…or?

 

Examine the text.

•What tense is used?

•What person is used?

•What kinds of words are used?

•How are italics and bold used?

•How is the documentation (bibliographical entries) done? Are there actual quotes used?

•How are the results presented? Text? Tables? Graphs? What do you think is the best presentation?

Page 15: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

How to Read a Technical Paper

Student Experience

•Summarize paper

•purpose

•main points

•conclusions

•Do conclusions follow from background and data?

•Strengths/ Weaknesses

•Quiz

•Ability to take notes

Page 16: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Project ProposalAbstract•As per examples in technical papers reviewed (approx ¼ page)

Introduction•Introduce the feature you intend to simulate. (¾ - 1 ¼ pages)

Background•Provide information on why the computer science community is interested in researching this feature. (¾ - 1 ¼ pages)

Methodology•Talk about the platform (Java) you will use to create your simulation.

•Talk about the input/output of your simulation.

•Figures with captions detailing interface

• Discuss any measurements you will make, and how they will be calculated

Bibliography

•Provide a bibliography as you have seen in the sample papers.

•References to this bibliography should be made throughout the paper.

•Your bibliography should include at least 1 text and 2 technical papers.

Page 17: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Presentation

Student Checklist

frequent eye contact

spoke for expected time length

Appropriate visual aids

readable text

grammar and spelling

Well-formatted slides

face audience and speak slowly

Page 18: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Simulators as Learning Tools

“Read, Use, Simulate, Experiment and Build: An Integrated Approach for Teaching Computer Architecture.”

Papaefstathiou, Sotiriou, ISCA 2002

•Read – Textbook

•Use – Use the parameterized HASE simulator

•Simulate and Experiment

•write software level simulator

•create and test benchmarks

•suggest optimizations

•Build – hardware level simulator

Outline

Background Information

Motivation for Project

Presentation Requirements

Presentation Grading

Conclusions

Questions and Critique

Presentation

Project Presentation

Dr. Lori Carter

March 17, 2003

Point Loma Nazarene University

Sample Figures

Start Pause Resume

Clock counter

RefBits

0

0

0

0

0

Virtual Memory Page References

5 7 4 11 13 4 2 7 5 5

1 clock reference bit

2 clock reference bits

page faults recorded

Main Memory Frames

Start

Sample Figures

Pause Resume

Clock counter

RefBits

1

0

0

0

0

Virtual Memory Page References

5 7 4 11 13 4 2 7 5 5

1 clock reference bit

2 clock reference bits

page faults recorded

1Main Memory

Frames

Page 19: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Weekly Progress Meetings

Page 20: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Weekly Progress Meetings

Agenda•Milestones

•Demonstrate completed items

•Discuss problems, make suggestions

Rationale•Encourages preparation

•Encourages sustained work

•Promotes integrity

Page 21: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Weekly Progress Meetings

Agenda•Milestones

•Demonstrate completed items

•Discuss problems, make suggestions

Rationale•Encourages preparation

•Encourages sustained work

•Promotes integrity

40% of Project Grade

Page 22: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Final Project Examples

Page 23: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Demo and Final Paper

CPU scheduling•How each algorithm works

•optimal for turnaround and waiting

•optimal quantum size

Page 24: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Cache Associativity

•valid bit, tag•spatial locality

•cacheline placement•seek time, hit rate

Page 25: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Power Dissipation

•gate behavior

•power dissipation

•circuit layout

Page 26: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Conclusions

Page 27: Bridging the Gap between the Undergraduate and Graduate Experience in Computer Systems Studies Lori Carter and Scott Rae Point Loma Nazarene University.

Conclusions

•50% of students expressed increased desire to explore the possibility of graduate school

Other Considerations:Work for professor Scaling to larger classes

Student response

•Initial Frustration – Ultimate Satisfaction

•Increased confidence in ability to learn independently

•Improved writing

skills


Recommended