Date post: | 12-Jan-2016 |
Category: |
Documents |
Upload: | kory-pierce |
View: | 214 times |
Download: | 1 times |
Bridging the Gap between the Undergraduate and Graduate
Experience in Computer Systems Studies
Lori Carter and Scott RaePoint Loma Nazarene University
June 8, 2003
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
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
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%
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
Outline
• Introduction• Motivation• Class Organization• “Learning to Learn” Using Java
Applets• Technical Reading, Writing and
Presenting• Weekly Progress Meetings• Some Examples• Conclusions
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
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
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.
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.
Turing Machine Applet
Technical Reading, Writing and Presenting
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:
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?
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
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.
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
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
Weekly Progress Meetings
Weekly Progress Meetings
Agenda•Milestones
•Demonstrate completed items
•Discuss problems, make suggestions
Rationale•Encourages preparation
•Encourages sustained work
•Promotes integrity
Weekly Progress Meetings
Agenda•Milestones
•Demonstrate completed items
•Discuss problems, make suggestions
Rationale•Encourages preparation
•Encourages sustained work
•Promotes integrity
40% of Project Grade
Final Project Examples
Demo and Final Paper
CPU scheduling•How each algorithm works
•optimal for turnaround and waiting
•optimal quantum size
Cache Associativity
•valid bit, tag•spatial locality
•cacheline placement•seek time, hit rate
Power Dissipation
•gate behavior
•power dissipation
•circuit layout
Conclusions
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