~~NOTOC~~ ====== CS 176 / 501b - Intro to CompSci II / Program Development ====== Semester: TBA ---- ===== Information / Announcements ===== ---- ===== Notes ===== * [[Review of Java basics, IDEs, Intro to Two-Dimensional Arrays|1 - Review of Java basics, IDEs, Intro to Two-Dimensional Arrays]] * [[Arrays as Method Input Parameters, Sorting and Searching Arrays | 2 - Arrays as Method Input Parameters, Sorting and Searching Arrays, Copying Arrays]] * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/CompareSearch/CompareSearch.java|CompareSearch example]] * [[Introduction to Classes and OOP|3 - Review of Classes and OOP]] * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/MagicEightBall.java|MagicEightBall.java]] and [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/TestMagicEightBall.java|TestMagicEightBall.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/fa14/src/MagicEightBall.zip|MagicEightBall.zip]] * The [[http://cs.smu.ca/~porter/csc/common_341_342/notes/oop_3pillars.html|Three]], or sometimes [[http://ruelbelmonte.tumblr.com/post/6066837330/4-pillars-of-oop|Four]] Pillars of OOP * [[Objects in Methods, Objects as Class Fields, the ArrayList Class|4 - Objects in Methods, Objects as Class Fields, the ArrayList Class]] * Original Fraction class: * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Fraction/Fraction.java|Fraction.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Fraction/TestFraction.java|TestFraction.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Fraction.zip|Fraction.zip]] * Minesweeper project example: * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Square.java|Square.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Grid.java|Grid.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper.java|Minesweeper.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper0.zip|Minesweeper0.zip]] * [[Static Class Members, Enumerated Types|5 - Static Class Members, Enumerated Types, Packages]] * [[this keyword|What is "this"?]] * Static addFraction and subtractFraction methods in the Fraction class: * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionStatic/Fraction.java|Fraction.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionStatic/TestFraction.java|TestFraction.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionStatic.zip|FractionStatic.zip]] * Minesweeper project example: * with additional methods plus a Level enum * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Level.java|Level.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Square.java|Square.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Grid.java|Grid.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Minesweeper.java|Minesweeper.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper.zip|Minesweeper.zip]] * [[Inheritance Intro|6 - Introduction to Inheritance]] * [[Triangle inheritance example|Triangle class inheritance example]] * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Triangle/GeometricObject1.java|GeometricObject1.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Triangle/Triangle.java|Triangle.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Triangle/testTriangle.java|testTriangle.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Triangle.zip|Triangle.zip]] * [[GUIs Intro|7 - Inheritance and GUIs]] * [[Fraction class GUI example]] * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionCalc/Fraction.java|Fraction.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionCalc/FractionCalc.java|FractionCalc.java]] * [[The Object Class, Abstract Classes, Interfaces|8 - The Object Class, Abstract Classes, Interfaces, Polymorphism]] * Example: Fraction class with a Relatable interface * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionRelatable/Relatable.java|Relatable.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionRelatable/Fraction.java|Fraction.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionRelatable/TestFraction.java|TestFraction.java]] * BlueJ project zip: [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/FractionRelatable.zip|FractionRelatable.zip]] * [[Comparable & Sorting, Files, Exceptions|9 - Comparable & Sorting, Files]] * [[Recursion|10 - Recursion]] * Iterative and recursive printFactorial methods: * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Recursion/Factorial.java|Factorial.java]] * Recursion in Minesweeper project: * See the //setOpened// method of the Square class. * [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Level.java|Level.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Square.java|Square.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Grid.java|Grid.java]], [[http://rockhopper.monmouth.edu/~jchung/cs176/su14/src/Minesweeper/Minesweeper.java|Minesweeper.java]] ---- ===== Tasks ===== * Install the [[http://klassenkarte.steinhuber.de/index_en.html|Class Card]] UML extension for BlueJ * In Linux, save the Klassenkarte.jar file to the ~/.bluej/extensions folder by running the //bluejclasscardsetup// command in a Terminal. * [[CS 176 / 501b Assignments | Assignments]] ---- ===== Links and Resources ===== * http://rockhopper.monmouth.edu/cshelp/mucsremote (Remote access to MU UNIX account) * http://rockhopper.monmouth.edu/cshelp/Remote_file_management (Remote file management) * http://math.hws.edu/javanotes/ (Introduction to Programming using Java) * http://java.sun.com/docs/books/tutorial/ (Sun Java Tutorials) * http://www.disordered.org/Java-QA.html (Make Sense of Java) * [[http://www.bluej.org|The bluej IDE]] * [[http://www.drjava.org|The drjava IDE]] * [[http://www.netbeans.org|The netbeans IDE]] ----