CSCI 136
Fundamentals of Computer Science II
Spring 2017

Montana Tech
Computer Science & Software Engineering



SCHEDULE

This page lists the anticipated dates of all the lectures with links to slides and examples from the lecture (if any). Readings are in the book Java: An Introduction to Problem Solving and Programming, 7th edition by Walter Savitch. Additional readings in the optional text, Head First Java by Kathy Sierra and Bert Bates are listed as HF, along with the appropriate pages. This book is optional, but presents concepts in a very different way than our main textbook, and you may find this approach helpful. To get the most out of lectures, skim the reading beforehand (or at least look at the pictures!). After the lecture, go back and read the pages carefully. Doing the book exercises can also be helpful.

#DateTopicSlidesReadingExamples
1Mon. 1/9 Course Overview, Java Library, API, javadoc PDF Java, Appendix 5;
HF Ch. 6
TestJavadoc.java  TestJavadocCompleted.java  TryJavadoc.java  Solution to In-Class Exercise 1 
-Wed. 1/11 Lab: NO CLASS - 1st WEEK!!
2Fri. 1/13 Java Basics Review PDF Java Ch. 1-8.2;
HF Ch. 1-5
-Mon. 1/16 NO CLASS - Martin Luther King Day
-Wed. 1/18 Lab 1: Looking Out for Number One
3Fri. 1/20 Dynamic Arrays PDF Java Ch. 12.1;
HF pp. 131-137
ArrayListExample.java  ArrayListRemoveFailure.java  ArrayListRemoveLoop.java  ArrayListEnhancedForLoop.java  ReverseLines.java  ReverseNums.java  states.txt  nums.txt  Duck.java  Solution to In-Class Exercise 2 
4Mon. 1/23 Linked Lists PDF Java Ch. 12.3 Node.java  Quote.java  Payroll.java 
-Wed. 1/25 Lab 2: Traveling Salesperson TSPStudent.zip 
5Fri. 1/27 Exceptions Revisited, File I/O PDF Java Ch. 9;
HF Ch. 11
6Mon. 1/30 Enumerations PDF Java pp. 182-183;
HF Appendix B
Compass.java CompassTest.java Room.java Planets.java
-Wed. 2/1 Lab 3: Dungeon I dungeon.zip
7Fri. 2/3 Inheritance PDF Java Ch. 8.1-8.2;
HF Ch. 7
Circle.java  CircleImage.java  CircleImageRotate.java  CircleClient.java  Bouncers.java  BouncersClient.java  Tile.java  LetterTile.java  NumberTile.java  TileBoard.java  TileGame.java  StdDraw.java  StdRandom.java 
8Mon. 2/6 Review for Exam I PDF
-Wed. 2/8 Lab: EXAM 1 Sonar.zip 
9Fri. 2/10 Polymorphism PDF Java Ch. 8.3-8.4;
HF Ch. 8
Bordered.java  Circle.java  CircleBorder.java  GrowShape.java  RandomShapes.java  Rectangle.java  RectangleBorder.java  Shape.java  StdDraw.java 
10Mon. 2/13 Stacks and Queues PDF Java p. 916, p. 934 #11;
HF 237-239
StackOfStrings.java  ReverseWords.java  Balanced.java  QueueOfStrings.java  Speller.java  Zipped Sound Files  StdDraw.java  StdAudio.java 
-Wed. 2/15 Lab 4: Dungeon II dungeon2.zip  dungeon2-extra-asstes.zip 
11Fri. 2/17 File I/O PDF Java Ch. 9;
HF Ch. 11
PrintWriterDemo.java  AppendTextFile.java  Doubler.java  numbers.dat 
-Mon. 2/20 NO CLASS - President's Day
-Wed. 2/22 Lab 4 Continued: Dungeon II
12Fri. 2/24 Abstract Data Types,
Generics
ADT PDF,
GEN PDF
Java Ch. 12.4;
HF pp. 569-575,
Java p. 325, p. 870;
HF Ch. 16
ReverseWords1.java  ReverseWords2.java  ReverseWords3.java  ReverseWords4.java  ReverseWords5.java  ReverseWords6.java  StackOfStringsArray.java  StackOfStringsArrayDouble.java  StackOfStringsArrayDynamic.java  StackOfStringsArrayList.java  StackOfStringsArrayLinkedList.java  mobydick.txt  ThreeSum.java  ThreeSumWrapper.java  MyStack.java  Disk.java  Peg.java  TowersOfHanoi.java  StdDraw.java  Stats.java 
13Mon. 2/27 Recursion PDF Java Ch. 11 Factorial.java  Factorial2.java  BinarySearch.java  Collatz.java  Htree.java  Fibonacci.java  Exponentiate.java  StdDraw.java  Stats.java 
-Wed. 3/1 Lab 5: Ultima 0 ultima.zip
14Fri. 3/3 Recursion II PDF,
PPT
Java Ch. 11 RecursiveMystery.java  Brownian.java  PlasmaCloud.java  Tree.java  StdDraw.java  StdRandom.java 
15Mon. 3/6 Threads PDF HF pp. 489-503 Animal.java  AnimalMap.java  AnimalMapDeluxe.java  Frogmaker.java  AnimalSpin.java  BlastOff.java  Launch.java  MultiLaunch.java  FibWorker.java  FibLauncher.java  MultiLaunchSleep.java  BlastOffSleep.java  MultiLaunchSleepJoin.java  Square.java  PrettySquares.java  CircleWorker.java  ThreadZoo.java  cat.jpg  cow.jpg  dog.jpg  frog.jpg  cat.wav  cow.wav  dog.wav  frog.wav  StdAudio.java  StdDraw.java  StdIn.java 
-Wed. 3/8 Lab 6: Ultima 0.1 ultima0.1.zip 
16Fri. 3/10 Concurrency Issues PDF HF pp. 504-522 BlastOff.java  Launch.java  SerialSearch.java  ParallelSearch.java  SearchWorker.java  BankAccount.java  RyanAndMonicaJob.java  Count.java  Increment.java  IncrementWorker.java  ArrayListBad.java  ArrayListBadReadOnly.java  ArrayListGood.java  Stats.java 
-Mon. 3/13 NO CLASS - Spring Break
-Wed. 3/15 NO CLASS - Spring Break
-Fri. 3/17 NO CLASS - Spring Break
17Mon. 3/20 Networking and Socket Communication PDF Java Ch. 10.6;
HF Ch. 15
Magic8Server.java  Magic8Client.java  Magic8ServerPersist.java  Magic8ClientPersist.java  Magic8ServerMulti.java  Magic8ServerWorker.java  StdDraw.java  Stats.java 
-Wed. 3/22 Lab 7: Shared Line Drawing
18Fri. 3/24 Graphics / Event Listeners PDF HF Ch. 12 SimpleButton.java  MultiButtons.java  MultiButtonsFlow.java  MultiButtonsBox.java  Widgets.java  ButtonCount.java  FarmListener.java  cat.wav  cow.wav  dog.wav  StdAudio.java  FarmInner.java 
19Mon. 3/27 Review for Exam 2 PDF Exam 2 Study Outline
-Wed. 3/29 Lab: EXAM 2 cat-icon.png purr.wav cat-yowl.wav cat-growl.wav cats.zip
20Fri. 3/31 Graphics: Swing PDF Java Ch. 13, 15;
HF Ch. 13
ButtonCount.java  ButtonCount2.java  NameDialog.java  YesNoDialog.java  PanelOfPanels.java  BouncingBall.java  Panel.java  MyDrawPanel.java  cat.jpg  MouseTextBox.java  MouseDraw.java  MouseDrawPanel.java  KeyTextBox.java 
21Mon. 4/3 Regular Expressions PDF AvgPerLine.java  avgnums.txt  GerundFinder.java  mobydick.txt 
-Wed. 4/5 Lab 8: WAV Audio Player wavplayer.zip
22Fri. 4/7 Using the Command Line PDF HelloWorld.java  Madlib.java  GerundFinder2.java 
23Mon. 4/10 Fun With Linux!! Website
-Wed. 4/12 Lab 8 continued: WAV Audio Player
-Fri. 4/14 NO CLASS - Spring Mini Break
24Mon. 4/17 More Fun with Linux!!! Website
-Wed. 4/19 Lab 9: Dueling Creatures Darwin.zip  Player's Handbook  Online Darwin javadoc  images.zip  Sprite Database 
25Fri. 4/21 More Fun...? Website
26Mon. 4/24 No More Fun ... Website
-Wed. 4/26 Performance,
Lab: Dueling Creatures Competition
PDF NestLoops.java  Stats.java  Rabbit.java  StdDraw.java  rabbit.png  RecursiveMystery.java 
27Fri. 4/28 Review for Exam 3 PDF Final Exam Study Outline 
-Wed. 5/3 FINAL EXAM: 11:30-1:30 (2:30 if needed)


Page last updated: January 04, 2018