From charlesreid1

No edit summary
 
(83 intermediate revisions by the same user not shown)
Line 1: Line 1:
See [[CSC 142 Checklist]]
=Chapter 1: Intro to Java=
=Chapter 1: Intro to Java=


Sections:
[[CSC 142/Chapter 1]]
 
1.1 Basic computing concepts
 
1.2 And now, Java


1.3 Program errors
=Chapter 2: Primitive Data and Definite Loops=


1.4 Procedural decomposition
[[CSC 142/Chapter 2]]


1.5 Case study: DrawFigs
=Chapter 3: Parameters and Objects=


Note: the first chapter is definitions-heavy.
[[CSC 142/Chapter 3]]


==Section 1.1: Intro to Java==
=Chapter 4: Conditional Execution=


===Definitions===
[[CSC 142/Chapter 4]]


* Algorithm
=Chapter 5: Program Logic and Indefinite Loops=
* Program
* Hardware ("Hardware: the part of the computer that you can kick")
* Software
* Digital
* Binary
* Program execution
* Compiler
* Java Virtual Machine (JVM)
* Java Runtime Environment (JRE)


===Material===
[[CSC 142/Chapter 5]]


Things to cover:
=Chapter 6: File Processing=
* Java class libraries (standard library)
* Java programming environment
* Java Hello World program
* Eclipse editor ("Why can't Java programmers see well?" "Because of the Eclipse.")
* Console window/command line


===Quotes===
[[CSC 142/Chapter 6]]


1995: Oracle: "Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-netural, portable, high-performance, multithreaded, dynamic language."
=Chapter 7: Arrays=


===Life Skills==
[[CSC 142/Chapter 7]]


Life skills track:
=Chapter 8: Classes=
* Pay attention and FOCUS
* RTFM
* Follow directions and read carefully
* Whether it's your compiler, or your instructor, or your fellow students - pay attention to what's being said
* Skill will pay off when you start to compile your Java programs


==Section 1.2: Java==
[[CSC 142/Chapter 8]]


Class
=Outline=
* Every program, all Java code, lives in a class
* Class header
* Class methods
* Statements
* String literals
* System.out.println
* Escape sequences
* print vs println


Complex example: draw figures
==Midterm A==
* ASCII diamond, X, rocket


Code comments, white space, readability:
Midterm A Outline
* Comments
* Chapter 1: Intro to Java
** Java basics
** Program errors
** Procedural decomposition
** Case Study: DrawFigs
* Chapter 2: Primitive Data and Definite Loops
** Basic data
** Variables
** For loop
** Managing complexity
** Case Study: Hourglass figures
* Chapter 3: Parameters and Objects
** Parameters
** Methods returning values
** Using objects
** Case Study: Projectile trajectory
* Chapter 4: Conditional Execution
** If/else statements
** Logic statements
** Object equality and operators
** Refactoring to use if/else logic
** Cumulative algorithms
** Equality with floats and roundoff error
** Text processing
** Printf
** Methods and conditional execution
** Case Study: BMI


Profiles:
==Midterm B==
* James Gosling - Oracle, tech companies, open source vs. enterprise, hackers vs suits


==Section 1.3: Syntax Errors==
Midterm B Outline
* Chapter 5: Program logic, conditional execution
** While loops
** Random numbers
** Fencepost algorithms
** Boolean type
** User input and dealing with errors
** Assertion and program logic
** Case Study: NumberGuess
* Chapter 6: File processing
** File reading basics
** Token based processing
** Reading numbers from a file
** Paths and directories
** Line based processing
** Line/token combinations
** Advanced file processing
** Removing whitespace
** Case Study: Zip code lookup
* Chapter 7: Arrays
** Array basics and initialization
** Comparing arrays
** Array traversal
** Reference semantics and memory, and null
** Advanced array techniques
** Shuffling, shifting, reversing
** Multidimensional arrays
** Rectangular multidimensional arrays
** Jagged multidimensional arrays
** Case Study: Benford's Law
* Chapter 8: Object oriented programming
** Object state and behavior
** Accessor methods
** Object initialization and constructors
** Data encapsulation
** Private fields
** Mutable/immutable
** Case Study: Stock class


Different types of errors:
=Flags=
* Where the errors happen - the normal process - (code) --> (compiler) --> (bytecode)
* Errors at compiler level - syntax errors - book lists common syntax errors
* Errors at code level - bugs - errors in the logic of the program (wrong idea, or right idea but implemented wrong)


Pofiles:
{{CSC142Flag}}
* Grace Hopper


==Section 1.4: Procedural Decomposition==
The short list of topics:


Decomposing complexity:
Intro to Java
* Decomposition concept: split into functions, tasks, subtasks


C is very verb-oriented, action-oriented
Primitive Data and Definite Loops


Java is very noun-oriented, object-oriented
Parameters and Objects


Procedural programming:
Conditional Execution
* Function-based, action-based programming
* How to decompose task of baking a cake
* Static methods (help serve function of.......... functions)


Object oriented programming version:
Program Logic and Conditional Execution
* c = new Cake(); c.make()
* Encapsulating complexity of the object
* Example in book: drawBox, drawTopX, drawBottX


Flow control
File Processing
* How control changes with function calls
* Objects: with OOP it becomes more complicated to follow the flow of the program
* Procedural programs and interpreted languages: you just start at the top and go from there
* Objects: "when is this code actually used?" (have to dive in to see)
* Learning to follow program flow control
* Flow control allows you to abstract away detail
* Example runtime error


Life skills track:
Arrays
* Cover non-word representations of programs


(Give them a crypto puzzle, but we haven't introduced any crypto or codes just yet)
Classes

Latest revision as of 16:05, 24 September 2016

See CSC 142 Checklist

Chapter 1: Intro to Java

CSC 142/Chapter 1

Chapter 2: Primitive Data and Definite Loops

CSC 142/Chapter 2

Chapter 3: Parameters and Objects

CSC 142/Chapter 3

Chapter 4: Conditional Execution

CSC 142/Chapter 4

Chapter 5: Program Logic and Indefinite Loops

CSC 142/Chapter 5

Chapter 6: File Processing

CSC 142/Chapter 6

Chapter 7: Arrays

CSC 142/Chapter 7

Chapter 8: Classes

CSC 142/Chapter 8

Outline

Midterm A

Midterm A Outline

  • Chapter 1: Intro to Java
    • Java basics
    • Program errors
    • Procedural decomposition
    • Case Study: DrawFigs
  • Chapter 2: Primitive Data and Definite Loops
    • Basic data
    • Variables
    • For loop
    • Managing complexity
    • Case Study: Hourglass figures
  • Chapter 3: Parameters and Objects
    • Parameters
    • Methods returning values
    • Using objects
    • Case Study: Projectile trajectory
  • Chapter 4: Conditional Execution
    • If/else statements
    • Logic statements
    • Object equality and operators
    • Refactoring to use if/else logic
    • Cumulative algorithms
    • Equality with floats and roundoff error
    • Text processing
    • Printf
    • Methods and conditional execution
    • Case Study: BMI

Midterm B

Midterm B Outline

  • Chapter 5: Program logic, conditional execution
    • While loops
    • Random numbers
    • Fencepost algorithms
    • Boolean type
    • User input and dealing with errors
    • Assertion and program logic
    • Case Study: NumberGuess
  • Chapter 6: File processing
    • File reading basics
    • Token based processing
    • Reading numbers from a file
    • Paths and directories
    • Line based processing
    • Line/token combinations
    • Advanced file processing
    • Removing whitespace
    • Case Study: Zip code lookup
  • Chapter 7: Arrays
    • Array basics and initialization
    • Comparing arrays
    • Array traversal
    • Reference semantics and memory, and null
    • Advanced array techniques
    • Shuffling, shifting, reversing
    • Multidimensional arrays
    • Rectangular multidimensional arrays
    • Jagged multidimensional arrays
    • Case Study: Benford's Law
  • Chapter 8: Object oriented programming
    • Object state and behavior
    • Accessor methods
    • Object initialization and constructors
    • Data encapsulation
    • Private fields
    • Mutable/immutable
    • Case Study: Stock class

Flags





The short list of topics:

Intro to Java

Primitive Data and Definite Loops

Parameters and Objects

Conditional Execution

Program Logic and Conditional Execution

File Processing

Arrays

Classes