<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://multicore.cs.purdue.edu/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://multicore.cs.purdue.edu/feed.php">
        <title>Multicore Initiative</title>
        <description></description>
        <link>http://multicore.cs.purdue.edu/</link>
        <image rdf:resource="http://multicore.cs.purdue.edu/lib/images/favicon.ico" />
       <dc:date>2009-11-23T14:58:21-05:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=book&amp;rev=1197304077"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=concurrency&amp;rev=1192138459"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=connect4&amp;rev=1194884380"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=discussion&amp;rev=1193063516"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=idealgas&amp;rev=1194884429"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=lightcycle&amp;rev=1197306070"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=logicsimulator&amp;rev=1204230739"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=prerequisites&amp;rev=1193065821"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=projects&amp;rev=1193674981"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=sidebar&amp;rev=1214514884"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=spellchecker&amp;rev=1197310466"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=start&amp;rev=1258232973"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=svn-eclipse&amp;rev=1193085947"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=svn-windows&amp;rev=1247255993"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=template&amp;rev=1193674897"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=topics&amp;rev=1217358098"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week1&amp;rev=1212514882"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week10&amp;rev=1196094756"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week11&amp;rev=1206639210"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week12&amp;rev=1208451950"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week13&amp;rev=1196097001"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week14&amp;rev=1208452426"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week15&amp;rev=1196097479"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week2&amp;rev=1195447409"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week3&amp;rev=1208452229"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week4&amp;rev=1208452201"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week5&amp;rev=1208452137"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week6&amp;rev=1195456314"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week7&amp;rev=1195492210"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week8&amp;rev=1208452279"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=week9&amp;rev=1206639252"/>
                <rdf:li rdf:resource="http://multicore.cs.purdue.edu/doku.php?id=wordhunt&amp;rev=1194884059"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://multicore.cs.purdue.edu/lib/images/favicon.ico">
        <title>Multicore Initiative</title>
        <link>http://multicore.cs.purdue.edu/</link>
        <url>http://multicore.cs.purdue.edu/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=book&amp;rev=1197304077">
        <dc:format>text/html</dc:format>
        <dc:date>2007-12-10T11:27:57-05:00</dc:date>
        <title>book</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=book&amp;rev=1197304077</link>
        <description>Part I: Foundations in Java

	*  Introduction
	*  Primitive Types and Control Flow
	*  Creating Classes and Methods
	*  Arrays
	*  Inheritance and Exceptions


  Part II: Further Java with Concurrency

	*  Concurrency
	*  Synchronization
	*  Polymorphism and Interfaces
	*  File I/O and Networking
	*  Dynamic Data Structures
	*  Testing and Debugging
	*  Recursion
	*  Graphic User Interfaces
	*  Event-Driven Programming
	*  Other Topics in Concurrency</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=concurrency&amp;rev=1192138459">
        <dc:format>text/html</dc:format>
        <dc:date>2007-10-11T17:34:19-05:00</dc:date>
        <title>concurrency</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=concurrency&amp;rev=1192138459</link>
        <description>Concurrency Tools in Java

 Below is a list of programming tools which students may learn in CS180M 

	*  Threads
		*  Create &amp; Join
		*  Sleep
		*  Interruption
		*  Priorities

	*  Synchronization Tools
		*  Keyword synchronized
		*  Locks
		*  Semaphores
		*  Monitors (wait, notify)</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=connect4&amp;rev=1194884380">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-12T11:19:40-05:00</dc:date>
        <title>connect4</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=connect4&amp;rev=1194884380</link>
        <description>Below is an outline of the Connect 4 project using the template we have created. 

	*  Problem Statement
 This is a placeholder.
	*  Design
 Design to come in the future.
	*  Implementation
 Implementation to come in the future.
	*  Testing
 Testing to come in the future.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=discussion&amp;rev=1193063516">
        <dc:format>text/html</dc:format>
        <dc:date>2007-10-22T10:31:56-05:00</dc:date>
        <title>discussion</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=discussion&amp;rev=1193063516</link>
        <description>Discussion

 What is an appropriate tool for testing and debugging concurrent programs? 

	*  Eclipse is possible, but steep initial learning curve and can become a crutch
	*  JaVis is possible, but it seems to exist as a paper more than as an implementation</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=idealgas&amp;rev=1194884429">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-12T11:20:29-05:00</dc:date>
        <title>idealgas</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=idealgas&amp;rev=1194884429</link>
        <description>Below is an outline of the Ideal Gas Simulator project using the template we have created. 

	*  Problem Statement
 This is a placeholder.
	*  Design
 Design to come in the future.
	*  Implementation
 Implementation to come in the future.
	*  Testing
 Testing to come in the future.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=lightcycle&amp;rev=1197306070">
        <dc:format>text/html</dc:format>
        <dc:date>2007-12-10T12:01:10-05:00</dc:date>
        <title>lightcycle</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=lightcycle&amp;rev=1197306070</link>
        <description>Below is an outline of the Light Cycle project using the template we have created. 

	*  Problem Statement
 The Light Cycle game takes input from two users from the keyboard and uses it to compete in a light cycle game very much like the classic from the movie Tron.  In this version of the game, however, each light cycle is a thread.  The light cycle travels forward one pixel and then sleeps.  The speed of the light cycle is governed by the length of time that the thread sleeps.  Green powerups …</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=logicsimulator&amp;rev=1204230739">
        <dc:format>text/html</dc:format>
        <dc:date>2008-02-28T15:32:19-05:00</dc:date>
        <title>logicsimulator</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=logicsimulator&amp;rev=1204230739</link>
        <description>Below is an outline of the Logic Simulator project using the template we have created. 

	*  Problem Statement
 The goal of this project is to implement a simulator for a logic circuit.  The driver program CircuitBuilder should read from stdin the specification for a logic circuit without loops, build the circuit from its components, and then print its outputs to stdout.  Each component of the circuit should be implemented with the following classes:  (Replace with UML component diagram)
		*  Co…</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=prerequisites&amp;rev=1193065821">
        <dc:format>text/html</dc:format>
        <dc:date>2007-10-22T11:10:21-05:00</dc:date>
        <title>prerequisites</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=prerequisites&amp;rev=1193065821</link>
        <description>Prequisites for CS180M

 Below is a list of concepts in Java which students are expected to have covered (in high school or in CS177) before enrolling in CS180M 

	*  Creating classes
 Students can create a class, declare member variables, define methods, and use appropriate import statements to solve simple problems.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=projects&amp;rev=1193674981">
        <dc:format>text/html</dc:format>
        <dc:date>2007-10-29T12:23:01-05:00</dc:date>
        <title>projects</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=projects&amp;rev=1193674981</link>
        <description>Project Ideas

 This page gives ideas for projects for a variety of subject areas.  This list is rough and subject to change.  Not all of the ideas are practical, and only a small number can be used for student projects.  Eventually, each project should have notes describing which sequential and parallel topics of interest it will cover.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=sidebar&amp;rev=1214514884">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-26T17:14:44-05:00</dc:date>
        <title>sidebar</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=sidebar&amp;rev=1214514884</link>
        <description>Topic Lists

	*  Concurrency Topics
	*  Prerequisites
	*  Current CS180 Topics
	*  Project Ideas
	*  Course Outline
		*  Data types and control flow
		*  Classes, methods, and design
		*  Inheritance and exceptions
		*  Arrays
		*  Threads
		*  Synchronization
		*  More inheritance and interfaces
		*  File I/O
		*  Dynamic data structures
		*  Debugging concurrent programs
		*  Recursion
		*  GUI
		*  Event driven programming
		*  No Class
		*  More GUI
		*  Review</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=spellchecker&amp;rev=1197310466">
        <dc:format>text/html</dc:format>
        <dc:date>2007-12-10T13:14:26-05:00</dc:date>
        <title>spellchecker</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=spellchecker&amp;rev=1197310466</link>
        <description>Below is an outline of the Spell Checker project using the template we have created. 

	*  Problem Statement
 In this project, students should read the name of an input file and a dictionary file from the command line.  Then, their program should open each of these files.  All of the words in the dictionary should be added to a HashList structure.  Likewise, all of the words in the input file should be added to another HashList structure.  Each word in the input file should be checked against th…</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=start&amp;rev=1258232973">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-14T16:09:33-05:00</dc:date>
        <title>start</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=start&amp;rev=1258232973</link>
        <description>*  Course Outline pages updated.
	*  Project pages updated.
	*  Book Outline page created.
	*  Spell Checker projected added to  repository.
	*  Dining Philosopher (both deadlocking and working solutions) added to  repository.  
	*  Deadlock example added to  repository.
	*  Logic Simulator and two threaded versions added to  repository.
	*  Word Hunt project page created.
	*  Project template page created.
	*  Prerequisites page updated.
	*  Discussion page created for open questions.
	*  Proje…</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=svn-eclipse&amp;rev=1193085947">
        <dc:format>text/html</dc:format>
        <dc:date>2007-10-22T16:45:47-05:00</dc:date>
        <title>svn-eclipse</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=svn-eclipse&amp;rev=1193085947</link>
        <description>Another way to access the Subversion repository on multicore.cs.purdue.edu from a Windows machine is using the Subclipse plugin for Eclipse.  

 Download Eclipse (or visit the Eclipse downloads page for more choices) to your desktop and unzip it into the directory where you would like it installed.  Run Eclipse by double-clicking on eclipse.exe before continuing.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=svn-windows&amp;rev=1247255993">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-10T15:59:53-05:00</dc:date>
        <title>svn-windows</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=svn-windows&amp;rev=1247255993</link>
        <description>One way to access the Subversion repository on multicore.cs.purdue.edu from a Windows machine is to use the three programs puttygen, putty, and TortoiseSVN.

 Copy puttygen.exe to your desktop and launch it.  (These instructions were created using version 0.60.)</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=template&amp;rev=1193674897">
        <dc:format>text/html</dc:format>
        <dc:date>2007-10-29T12:21:37-05:00</dc:date>
        <title>template</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=template&amp;rev=1193674897</link>
        <description>Below is the template we intend to use to discuss proper problem solving techniques when writing a program to solve a particular problem.  We will use this template to describe problem discussed in class.  Likewise, students will be required to fill in parts 2, 3, and 4 of this template for programming projects.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=topics&amp;rev=1217358098">
        <dc:format>text/html</dc:format>
        <dc:date>2008-07-29T15:01:38-05:00</dc:date>
        <title>topics</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=topics&amp;rev=1217358098</link>
        <description>Current Topics in CS180

 Here is a list of topics beyond the prerequisites that are currently also covered in CS180: 

	*  Inheritance
	*  Arrays (multidimensional)
	*  Interfaces
	*  Exceptions
	*  File I/O
	*  Dynamic Data Structures and Generics
	*  Recursion
	*  GUIs
	*  Applets</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week1&amp;rev=1212514882">
        <dc:format>text/html</dc:format>
        <dc:date>2008-06-03T13:41:22-05:00</dc:date>
        <title>week1</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week1&amp;rev=1212514882</link>
        <description>Lecture 1

 Course Overview

Problem: How is basic arithmetic and string manipulation done? 

	*  Primitive types
		*  byte
		*  short
		*  int
		*  long
		*  float
		*  double
		*  char
		*  boolean

	*  Object types
		*  references
		*  String
		*  members and methods
		*  new needed</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week10&amp;rev=1196094756">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-26T11:32:36-05:00</dc:date>
        <title>week10</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week10&amp;rev=1196094756</link>
        <description>Lecture 1

Problem: How can a sequential program be debugged? 

	*  Print statements
	*  Debugging tools
		*  Step through execution
		*  Breakpoints
		*  Watches


 Problem: What are the difficulties associated with debugging a concurrent program?</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week11&amp;rev=1206639210">
        <dc:format>text/html</dc:format>
        <dc:date>2008-03-27T13:33:30-05:00</dc:date>
        <title>week11</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week11&amp;rev=1206639210</link>
        <description>Lecture 1

 Problem: How can a problem be solved naturally without loops? 

	*  Recursion happens when a function (directly or indirectly) calls itself
	*  All recursive functions have two parts
		*  Base case(s)
		*  Recursion case(s)

	*  Short, elegant solutions can be possible with recursion
		*  Factorial
		*  Fibonacci
		*  Anagram</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week12&amp;rev=1208451950">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T13:05:50-05:00</dc:date>
        <title>week12</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week12&amp;rev=1208451950</link>
        <description>Lecture 1

 Problem: How can a graphical user interface be added to Java programs? 

	*  JFrame allows us to create a window
	*  We can add various widgets to a window
		*  JButton
		*  JTextField


	*  Event driven programming
		*  Deep down, a loop is constantly checking for changes
		*  We can add an ActionListener to a GUI component
		*  An action will cause the actionPerformed method to run</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week13&amp;rev=1196097001">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-26T12:10:01-05:00</dc:date>
        <title>week13</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week13&amp;rev=1196097001</link>
        <description>Lecture 1

 Problem: How else can the event driven programming model be used? 

	*  Threads can interact with each other in an event driven way
		*  wait/notify

	*  Natural model for many applications
		*  Simulations
		*  Banking interactions
		*  Online auctions
		*  Database transactions</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week14&amp;rev=1208452426">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T13:13:46-05:00</dc:date>
        <title>week14</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week14&amp;rev=1208452426</link>
        <description>Lecture 1

 Problem: How can Java be used to draw arbitrary shapes? 

	*  Using Graphics drawing
		*  Drawing a line
		*  Drawing a rectangle
		*  Drawing a circle

	*  The Color class

Examples

Lecture 2

 Problem: What are other useful classes to use when making GUIs?</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week15&amp;rev=1196097479">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-26T12:17:59-05:00</dc:date>
        <title>week15</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week15&amp;rev=1196097479</link>
        <description>Lecture 1

	*  Data types and control flow
	*  Classes, methods, and design
	*  Arrays
	*  Inheritance and exceptions
	*  Threads
	*  Synchronization
	*  More inheritance and interfaces

Examples

Lecture 2

	*  File I/O and networking
	*  Dynamic data structures
	*  Debugging concurrent programs
	*  Recursion
	*  GUI
	*  Event driven programming
	*  More GUI</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week2&amp;rev=1195447409">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-18T23:43:29-05:00</dc:date>
        <title>week2</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week2&amp;rev=1195447409</link>
        <description>Lecture 1

 Problem: How can the solution to a problem be broken down into separate components? 

	*  Data members
	*  Methods
		*  Accessors
		*  Mutators

	*  Constructors
	*  UML component diagrams
	*  public, private, protected, and default

Examples

Lecture 2

 Problem: How do components work together to solve a problem?</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week3&amp;rev=1208452229">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T13:10:29-05:00</dc:date>
        <title>week3</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week3&amp;rev=1208452229</link>
        <description>Lecture 1

 Problem: How can a list of items of the same kind be kept? 

	*  Array declaration
	*  Array reading and writing
	*  Primitive type arrays vs. object arrays
	*  Array bounds
	*  Connection to for-loops
	*  Resizing of arrays

 Note:  Arrays may start in the second half of the previous week.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week4&amp;rev=1208452201">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T13:10:01-05:00</dc:date>
        <title>week4</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week4&amp;rev=1208452201</link>
        <description>Lecture 1

 Problem: How can an existing solution be extended to a new problem? 

	*  extends keyword
	*  Visibility
	*  Calling super constructors
	*  Overriding methods
	*  Polymorphism

Examples

Lecture 2

 Problem: How can errors be handled? 

	*  Exceptions
	*  try-catch blocks
	*  Throwing exceptions
	*  throws keyword
	*  finally keyword
	*  Customized exceptions</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week5&amp;rev=1208452137">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T13:08:57-05:00</dc:date>
        <title>week5</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week5&amp;rev=1208452137</link>
        <description>Lecture 1

 Problem: How can a problem be solved with more than one computer? 

	*  Parallelism in the form of threads
	*  Scheduled onto processors by the JVM
	*  Creating threads
	*  Joining threads

 Note:  Threads may start in the second half of the previous week.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week6&amp;rev=1195456314">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-19T02:11:54-05:00</dc:date>
        <title>week6</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week6&amp;rev=1195456314</link>
        <description>Lecture 1

 Problem: What happens if threads don't interact safely? 

	*  Race conditions

 Problem: How can threads be made to interact safely? 

	*  Critical sections
	*  synchronized keyword
	*  wait and notify(All) methods

Examples

	*  Incorrect threaded sum of shared variable
	*  Logic Simulator with wait/notify
	*  Producer/Consumer</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week7&amp;rev=1195492210">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-19T12:10:10-05:00</dc:date>
        <title>week7</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week7&amp;rev=1195492210</link>
        <description>Lecture 1

 Problem: How can code be reused effectively? 

	*  Abstract classes
	*  Abstract methods
	*  Inheritance and exceptions
	*  Casting

Examples

Lecture 2

 Problem: In what ways other than inheritance can objects work together? 

	*  No multiple inheritance in Java 
	*  Interfaces
	*  Runnable interface</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week8&amp;rev=1208452279">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-17T13:11:19-05:00</dc:date>
        <title>week8</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week8&amp;rev=1208452279</link>
        <description>Lecture 1

 Problem: How can information be stored between program executions? 

	*  Files
		*  Binary
		*  Text

	*  Stream model
	*  Useful classes
		*  File
		*  FileOutputStream
		*  FileInputStream
		*  PrintWriter
		*  Scanner


Examples

Lecture 2

 Note: This lecture will be canceled due to October Break.  Networking material will be in the book but not in the course.</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=week9&amp;rev=1206639252">
        <dc:format>text/html</dc:format>
        <dc:date>2008-03-27T13:34:12-05:00</dc:date>
        <title>week9</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=week9&amp;rev=1206639252</link>
        <description>Lecture 1

Problem: How can a variable size list of items be maintained? 

	*  Linked lists
		*  Insertion
		*  Searching
		*  Deletion

	*  Pitfalls
		*  Null pointer exceptions
		*  Loss of data

	*  Performance issues
		*  Constant insertion
		*  Linear search</description>
    </item>
    <item rdf:about="http://multicore.cs.purdue.edu/doku.php?id=wordhunt&amp;rev=1194884059">
        <dc:format>text/html</dc:format>
        <dc:date>2007-11-12T11:14:19-05:00</dc:date>
        <title>wordhunt</title>
        <link>http://multicore.cs.purdue.edu/doku.php?id=wordhunt&amp;rev=1194884059</link>
        <description>Below is an outline of the Word Hunt project using the template we have created. 

	*  Problem Statement
 Write a Java program called PuzzleSolver which takes a word hunt puzzle as input from stdin, a list of words to find, and outputs to stdout the location and orientation in the puzzle of each of the words from the list.  Your program should create threads and divide the list of words among them.
 Full statement will be more explicit.  This is a placeholder.
	*  Design
 Placeholder UML diagram…</description>
    </item>
</rdf:RDF>
