Introduction to Computer Science (Java)

Resources (Some External)

Useful Libraries

Getting Started

  1. Installing the Java Development Kit and Eclipse
  2. The Command Line - Access and Navigation
  3. The Command Line - More Commands
  4. "Hello World" (using the command line)
  5. "Hello World" (using the Eclipse IDE)
  6. Adding an External Library to an Eclipse Project Folder
  7. A First Look at Graphics with the ACM Libraries
  8. Additions to the ACM Libraries
  9. Using Command-Line Arguments in Eclipse
  10. Navigating the Java API
  11. How to write and deploy a Java applet
  12. How to Build an Android App

Notes

  1. An Introduction to Computers, Programs, and Java
  2. An Illustrated History of Computers
  3. Numbers in Different Bases
  4. From Bits to Brontobytes
  5. The Two's Complement
  6. IEEE 754 Format
  7. Variables and the 8 Primitive Data Types
  8. Objects - A First Look
  9. Strings
  10. Using Command-Line Arguments
  11. Converting Strings to Numeric Types
  12. Expressions, Literals, and Constants
  13. Shortcut Assignment Operators and Type Conversion
  14. Commonly Used Methods of the java.lang.Math class
  15. The char Data Type
  16. More Inputs and Outputs
  17. The printf Method
  18. Boolean Expressions
  19. Conditional Statements
  20. Evaluation of Expressions
  21. Loops
  22. Methods
  23. Arrays
  24. Images, Pixels, and the ACM Package
  25. Searching and Sorting Arrays
  26. Objects and Classes
  27. The String, Character, and StringBuilder Classes (and File I/O)
  28. Inheritance and Polymorphism
  29. UML, Abstract Classes and Methods, and Interfaces
  30. Event Programming, Inner Classes, and Timers
  31. Playing a Sound File

Practice Exercises

  1. Bytes, Bases, and Internal Representations
  2. Variables, Expressions, and Assignments
  3. Making and Following Algorithms
  4. Common Tasks
  5. Review Exercises (Set A1)
  6. Review Exercises (Set A2)
  7. Review Exercises (Set B1)
  8. Review Exercises (Set B2)
  9. Review Exercises (Set C1)
  10. Review Exercises (Set C2)

Console Programs

  1. Finding Sums
  2. Converting Degrees to Radians
  3. A Magic Trick
  4. A Virtual Secret Decoder Ring
  5. Encrypting with an Affine Cipher
  6. Displaying the Current Time
  7. Determining Leap Years
  8. Finding Roots to a Quadratic
  9. Finding Intersections of Lines
  10. Determining if Points are Inside a Circle
  11. Determining if Points are Inside a Parabolic Region
  12. Calculating Monthly Payments
  13. Finding Means
  14. Generating an Addition Quiz
  15. Finding a Greatest Common Divisor
  16. Changing Bases
  17. Finding Linear Combinations
  18. Converting to Two's Complement Form
  19. Converting to IEEE-754 Form
  20. Finding Abundant, Deficient, and Perfect Numbers
  21. Generating Pascal's Triangle
  22. Finding Prime Factorizations
  23. Finding Harmonic Sums Two Ways
  24. Finding Maximum and Minimum Values
  25. Finding ASCII Values and Bitstrings
  26. Generating Prime Numbers
  27. Complex Numbers
  28. Blackjack (Console-based)
  29. Finding Permutations of Words
  30. Finding Combinations of Words
  31. Finding Standard Deviations
  32. Finding Perfect Square Triangular Numbers
  33. Stuffing Envelopes
  34. Spreading Rumors
  35. Finding Sums of Digits
  36. Detecting Palindromes
  37. Generating Credit Card Numbers
  38. Reversing a List of Numbers
  39. Finding Modes
  40. Finding a Median
  41. Finding Titles of Webpages
  42. Playing with Vectors
  43. Preparing Secret Messages

Graphics Programs (using the Breadboards and ACM Libraries)

  1. Drawing a Clown Face
  2. Manually Controlling a Turtle
  3. Generating Squares
  4. Approximating Pi
  5. Turtles Drawing Polygons
  6. Turtles Drawing Grids
  7. Random Rectangles
  8. Manually Controlling a Turtle II
  9. The Koch Snowflake
  10. The Chaos Game
  11. Shuffling Cards
  12. Rolling Dice
  13. Photo Processing
  14. Changing an Image's Size and Color Depth
  15. The Mandlebrot Set
  16. Newton Basin Fractals
  17. Bouncing Balls
  18. Bouncing Balls Under Gravity
  19. Colliding Balls
  20. Rotating Triangle
  21. Predicting Fish Populations
  22. Analog Clock
  23. The Brain Master Puzzle
  24. One-Dimensional Cellular Automata
  25. Conway's Game of Life
  26. Crystal Grower
  27. Secret Messages
  28. The 15 Puzzle
  29. Sorting Fun
  30. Following the Mouse
  31. A Drawing Applet
  32. L-Systems
  33. More Ideas...

    (Those above without links will be posted soon...)