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

CSCI 135
Fundamentals of Computer Science I
Fall 2018



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
1 Mon. 8/27 Course Overview PDF
- Wed. 8/29 First week of classes - NO LAB
2 Fri. 8/31 Computer Basics PDF 1.1, 1.2, 1.3 Self-Test 1.1, 1.2, 1.5, 1.6, 1.8, 1.9, 1.10, 1.11, 1.15, 1.16, 1.17, 1.29, 1.30 HelloWorld.java CostCalc.java
- Mon. 9/3 NO CLASS - Labor Day Holiday
- Wed. 9/5 Lab 1 - Hello New World LoveHate.java LoveHate2.java LoveHate3.java LoveHate4.java ArgsExample.java
3 Fri. 9/7 Data Types and Expressions PDF 2.1, 2.2 Self-Test 2.1, 2.2, 2.3, 2.6, 2.8, 2.10, 2.11, 2.13, 2.14, 2.19, 2.20, 2.21, 2.22, 2.23, 2.25, 2.26 Integers.java Doubles.java Chars.java Strings.java StringConcat.java Booleans.java Constants.java LeapYear.java TypeExample0.java TypeExample1.java TypeExample2.java TypeExample3.java
4 Mon. 9/10 Algorithms, Data Type Conversion PDF
- Wed. 9/12 Lab 2- Data Types and Expressions
5 Fri. 9/14 Conditional Execution PDF 3.1, 3.2 Self-Test 3.1, 3.2, 3.4, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14 Unicorn.java
6 Mon. 9/17 More Conditional Execution PDF 3.3 Self-Test 3.15, 3.16, 3.17, 3.18, 3.19, 3.20 Months.java Months2.java Months3.java
- Wed. 9/19 Lab 3 - Conditional Execution
7 Fri. 9/21 Iteration PDF 4.1, pp.202-217 Self-Test 4.1, 4.2, 4.3, 4.4, 4.5 Summation.java Powers2.java PickPoints.java
8 Mon. 9/24 More Iteration PDF 4.1, pp. 218-228, 4.2 Self-Test 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13 SummationFor.java SumPowers.java ForEach.java StarTriangle.java StarTriangle2.java
- Wed. 9/26 Lab 4 - Iteration
9 Fri. 9/28 Arrays PDF 7.2 Self-Test 7.1, 7.2, 7.3, 7.4, 7.5 Zombie.java CountEntries.java Backwards.java CompareArrays.java
10 Mon. 10/1 Multidimensional Arrays PDF 7.5 Self-Test 7.28, 7.30 Temp2D.java StdDraw.java 7days.txt
- Wed. 10/3 Lab 5 - Arrays
11 Fri. 10/5 Input/Output (I/O) PDF pp. 96-105 Self-Test 2.27 FloatingPointFormatting.java IntegerFormatting.java StringFormatting.java PrintfGoneWild.java Delimiter.java
12 Mon. 10/8 Review for Exam 1 Exam Outline
- Wed. 10/10 EXAM 1
13 Fri. 10/12 Graphics and Audio PDF 10.1-10.2 AvgNumsFile.java squares.txt HelloDraw.java StdDraw.java DrawShapes.java DrawShapesColor.java HelloScale.java DrawImage.java dont_panic.png frog.jpg HelloSize.java SpinningImage.java SpinningImageKey.java SpinningImageKeyAudio.java StdAudio.java spanishf.mid cow.wav explosion.wav frog.wav
14 Mon. 10/15 Problem Decomposition Link
PDF
   
- Wed. 10/17 Lab 6 - Mars Rover
15 Mon. 10/22 Methods PDF 5.1-5.2 MethodJumping.java DiceRolling.java RandomUtil.java PassByVal.java AverageArray.java MysteryMethods.java
16 Mon. 10/22 Programming Style,
Testing and Debugging
PDF1
PDF2
Factors1.java Factors2.java Factors3.java Factors4.java Factors5.java Factors6.java Factors7.java
- Wed. 10/24 Lab 7 - Methods: Audio Effects
17 Mon. 10/29 Testing PDF
18 Fri. 10/26 Exceptions PDF 9.1-9.3 Self-Test 9.1, 9.2 AddNums1.java AddNums2.java AddNums3.java AddNums4.java AvgNumsFile.java squares.txt mobydick.txt
- Wed. 10/31 Lab 8 - Testing
19 Fri. 11/2 Classes PDF Circle.java CircleClient.java CircleClientDeluxe.java CircleClientSuperDeluxe.java StdDraw.java FaceStudentShell.java
20 Mon. 11/5 Inheritance PDF 81.82 Circle.java CircleImage.java CircleImageRotate.java CircleClient.java BouncersClient.java Bouncers.java StdDraw.java dont_panic_40.png asteroid_big.png
- Wed. 11/7 Lab 9 - Object Oriented Design, Part 1
21 Fri. 11/9 Review for Exam 2 Exam Outline
- Mon. 11/12 NO CLASS - Veteran's Day Holiday
- Wed. 11/14 EXAM 2 Pgm. Exam Inflator.zip
22 Fri. 11/16 Classes, Objects and References PDF 5.2-5.3 Ball.java BallClient2.java BallSoapOpera.java StdDraw.java
23 Mon. 11/19 Designing Data Types PDF Person.java PersonClient.java PersonBad.java PersonBadClient.java StringImmutability.java DoubleTrouble.java DoubleEquality.java BallTrouble.java BallEquality.java StringTrouble.java StringEquality.java StdDraw.java
- Wed. 11/21 NO CLASS - Thanksgiving Break
- Fr. 11/23 NO CLASS - Thanksgiving Break
24 Mon. 11/26 Go over exam
- Wed. 11/28 Lab 10 - Object Oriented Design, Part 2
25 Fri. 11/30 Design Principles PDF
26 Mon. 12/3 Object Oriented Design Example PDF
- Wed. 12/5 Final Programming Exam Exam 3 Exam 3 Files
27 Fri. 12/7 Review for Written Final Exam Exam Outline
- Thurs. 12/13 Written Final Exam - 3:00-5:00PM


Page last updated: August 15, 2019