Montana Tech of The University of Montana
Computer Science & Software Engineering

CSCI 135
Fundamentals of Computer Science I
Fall 2016



SCHEDULE

This page lists the 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 by Walter Savitch. To get the most out of lectures, skim the reading beforehand (or at least look at the pictures!). You may also want to print out the slides before lecture so you can write and highlight on them during lecture. After the lecture, go back and read the pages carefully and do the book exercises. (These exercises are for your practice and not to be turned in or graded. It's still a good idea to do them to make sure you understand the material.)

#DateTopicSlidesReadingPractice ExercisesExamples
0 Mon. 8/22 Introduction:
Course Overview
Computer Basics
Programs and Languages
Our First Program
Algorithms
PDF 1.1, 1.2, 1.3 1.6, 1.7, 1.11, 1.17 HelloWorld.java LoveHate.java LoveHate2.java LoveHate3.java LoveHate4.java ArgsExample.java
1 Wed. 8/24 Basic Computation:
Data Types
Expressions
PDF 2.1, 2.2 2.4, 2.6, 2.9 CharExample.java StringExample.java TypeExample0.java TypeExample1.java TypeExample2.java TypeExample3.java CostCalc.java LeapYear.java
- Fri. 8/26 Lab 0: Hello New World
2 Mon. 8/29 Conditionals
Expressions
Conditionals
PDF 3.1, 3.3
3 Wed. 8/31 Condidtionals Revisited
Input/Output
Programming Style
PDF 3.1, 3.3
- Fri. 9/2 Lab 1: Conditionals
- Mon. 9/5 HOLIDAY: Labor Day - NO CLASS
- Wed. 9/7 Industry Advisory Board Panel
- Fri. 9/9 Lab 2: Basic I/O
4 Mon. 9/12 Iteration:
while
do-while
for
for-each
PDF 4.1, 4.2 Summation.java Powers2.java SummationFor.java DrawPoints.java StarTriangle.java
5 Wed. 9/14 Additional Input/Output
Input from Files
Graphic I/O
Audio Output
PDF AvgNumsFile.java HelloDraw.java HelloDraw2.java HelloSize.java HelloScale.java DrawShapes.java DrawShapesColor.java DrawImage.java SpinningImage.java SpinningImageKey.java SpinningImageKeyAudio.java StdDraw.java StdAudio.java frog.jpg dont_panic.png cow.wav frog.wav explosion.wav spanishf.mid
- Fri. 9/16 Lab 3: Iteration
Mars Lander
6 Mon. 9/19 Arrays:
Array Basics
PDF 7.1 Zombie.java Backwards.java ClassifyProducts.java CompareArrays.java 4words.txt menu.txt
7 Wed. 9/21 Program Decomposition PDF
- Fri. 9/23 Lab 3 Continued: Mars Lander
8 Mon. 9/26 Program Decomposition PDF RadarInClass.java radar4.txt DiceSolution.java
9 Wed. 9/28 Review for Exam #1 PDF
- Fri. 9/30 Exam #1
10 Mon. 10/3 Testing and Debugging PDF Review 1.3 Factors1.java Factors2.java Factors3.java Factors4.java Factors5.java Factors6.java Factors7.java
11 Wed. 10/5 Go Over Exam SnowKey.java
- Fri. 10/7 Lab 4: Arrays PDF GreedyPath.zip
- Mon. 10/10 NO CLASS - ABET VISIT
12 Wed. 10/12 Methods PDF 5.1 MethodJumping.java DiceRolling.java RandomUtil.java PassByVal.java AverageArray.java
- Fri. 10/14 Lab 5:Methods audio.zip
14 Mon. 10/17 Command Line
Libraries and Clients
Formatted Output
Methods
Return Types
PDF
15 Wed. 10/19 Classes and Methods PDF 5.2 Ball.java BallClient.java BallClientDeluxe.java BallClientSuperDeluxe.java StdDraw.java FaceStudent.java
- Fri. 10/21 Lab 6: Classes alive.zip
16 Mon. 10/24 Objects, Primitives and References PDF 5.2, 5.3 Ball.java BallClient.java BallSoapOpera.java StdDraw.java
17 Wed. 10/26 Multi-dimensional Arrays
Object-Oriented Design
PDF 6.1, 6.2, 6.4, 6.7
- Fri. 10/28 Lab 7: Object Oriented Programming blank.png (nothing is in this room)
wumpus.png
glitter.png
stench.png
breeze.png
pit.png
StdDraw.java
18 Mon. 10/31 Problem Decomposition Revisited - Object Oriented Design PDF
19 Wed. 11/2 Review for Exam 2 PDF
- Fri. 11/4 Exam #2 Blackjack.java DeckStudent.java Card.java Player.java
20 Mon. 11/7 Design Principles PDF
21 Wed. 11/9 Go over Exam 2 Deck.java
- Fri. 11/11 HOLIDAY: Veteran's Day - NO CLASS
22 Mon. 11/14 Object Oriented Design - An Example PDF Fraction1Client.java Fraction1.java Fraction.java
23 Wed. 11/16 Inheritance PDF Circle.java CircleImage.java CircleImageRotate.java CircleClient.java Bouncers.java BouncersClient.java StdDraw.java asteroid_big.png DiagramCircle.png dont_panic_40.png
- Fri. 11/18 Lab 8: Object Oriented Programming - Wumpus World Part 2
24 Mon. 11/21 Object Oriented Programming:
Inheritance Basics
Programming with Inheritance
PDF 8.1, 8.2 matrix.zip Matrix.java Label.java Animal.java Carnivore.java Herbivore.java Canine.java Feline.java Lion.java Tiger.java Cat.java Wolf.java Dog.java Hippo.java LabelDrip.java LabelJiggle.java
- Wed. 11/23 HOLIDAY: Thanksgiving - NO CLASS
- Fri. 11/25 HOLIDAY: Thanksgiving - NO CLASS
25 Mon. 11/28 Test Driven Development PDF Shipping.java
26 Wed. 11/30 Exceptions PDF 9 AddNums1.java AddNums2.java AddNums3.java AddNums4.java AvgNumsFile.java ExceptionDucking.java PerfectSquareWriter.java squares.txt
- Fri. 12/2 Programming Exam #3 (Final) scores.txt Thermostat.java snowman.txt
27 Mon. 12/5 Review for Written Final Exam PDF
- Fri. 12/9, 8:00-10:00 Written Exam #3 (Final Exam)


Page last updated: December 05, 2016