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

CSCI 135
Fundamentals of Computer Science I
Fall 2011



MIDTERM INFORMATION

Exam rules: Material covered: Detailed topics:
  • Process of compiling and executing a Java program
  • Interpreting compiler and runtime errors
  • Basic data types: int, double, char, boolean, String
  • Declaring and assigning variables
  • Operators: + * - / % ++ -- ! && || < <= > >= == !=
  • Converting mathematical statement/equation into Java code
  • Text output using System.out.print and System.out.println
  • Reading input from the command line args[] array
  • Explicit and implicit type conversions (e.g. automatic type promotion, type casting)
  • Converting strings to numeric types, Integer.parseInt(), Double.parseDouble()
  • Reading input from standard input using StdIn and redirection
  • Repetitions structures: for-loops, while-loops, do-while loops, nested loops
  • Conditional structures: if-statement, if-else
  • Scoping: local variables, method parameters, instance variables
  • Relative sizes of integer types, byte, short, int, long
  • Relative sizes of floating-point types, float, double
  • Single dimensional arrays, creating and using
  • Creating and using static methods
  • Method signatures
  • Pass by value, what happens when you change parameters inside a method (for primitive types, reference types, array elements, immutable Strings)
  • Overloading of methods
  • Creating and using objects
  • Principles of data encapsulation
  • Creating and using object constructors
  • Difference between primitive types and reference types
  • When does a reference variable have a null value
  • How several reference variables can control the same object
  • Creating and using arrays of objects
  • How to test equality: floating-point types, reference types, strings
  • Style: comments, use of whitespace, naming of variables, constants, methods
  • Tracing program execution (i.e. given a program figure out what lines execute in what order, what gets output, etc)
  • Using Math methods such as: Math.random(), Math.sqrt(), Math.abs()
  • Given a class API, use it in a program
  • Drawing using StdDraw
  • Playing audio using StdAudio


  • Page last updated: August 16, 2012