This site represents work that I have done in support of my efforts to learn to program in the CS2 course at SUNY Oswego during the Spring 2019 semester. The materials will be temporally organized for the most part. Links to external sites that pertain to computer programming, problem solving, Java, Web development, and related matters will be placed after the personally created artifacts.
Review Assignment Programs that are intended to test students' readiness for the CS2 course: Collatz Sequence Code + Demo | Letter Lines Code + Demo | Longer Words Code + Demo | Nonextreme Words Code + Demo | Number Classification Code + Demo
Work Site Assignment Setting up a Web site to house programs and demos and a few programming-related links. Link to the Work Site: Ka Ying's CS2 Work Site
GUI Assignment 1 "One Lonely Frame" Program to create a frame without any functionality: GUI1 Code + Demo
GUI Assignment 2 "One Lonely Frame, Again" Program to create a frame without any functionality with the establishment of a frame class: GUI2 Code + Demo
GUI Assignment 3 "Dead Buttons in a Frame" Program to place some dead buttons in the frame using a FlowLayout manager: GUI3 Code + Demo
GUI Assignment 4 "Dead Buttons in a Frame, Again" Program to place some dead buttons in the frame using a BorderLayout manager: GUI4 Code + Demo
GUI Assignment 5 "Changing Color!" Program to place some buttons in the frame using a BorderLayout manager and a JPanel that reflects colors as the buttons are clicked: GUI5 Code + Demo
GUI Assignment 6 "Changing Color!" Program to place some buttons in the frame using a BorderLayout manager and a JPanel that reflects colors as the buttons are clicked. What makes this different from Assignment 5 is that the frame class has been moved to a frame package: GUI6 Main Code + Frame Code + Demo
GUI Assignment 7 "Buttons Up/Text Down" Program to place some buttons in the frame using a BorderLayout manager and a JPanel that reflects colors as the buttons are clicked. A text field is added for users to type in colors to give commands instead of clicking on the buttons. Random colors can be generated: GUI7 Main Code + Frame Code + Random(Utilities) Code + Demo
GUI Assignment 8 "The Parrot" Program to place some buttons in the frame and a JTextArea that displays the names of the buttons when they are clicked: GUI8 Main Code + Frame Code + Demo
GUI Assignment 9 "Bits of Computer Science Knowledge" Program to place some buttons in the frame and a JTextArea that displays text. When the buttons are clicked, the correspnding text will be displayed: GUI9 Main Code + Frame Code + Demo
GUI Assignment 10 "Squaresville Parrot" Program to place a JPanel and a JTextArea in the central region with some buttons on the sidesin the frame. The JTextArea displays the names of the buttons when they are clicked: SV1 Main Code + Frame Code + Demo
GUI Assignment 11 "Simple Squaresville" Program to place a JPanel and a JTextArea in the central region with some buttons on the sidesin the frame. The JTextArea displays the names of the buttons when they are clicked. The buttons control the painter in the JPanel to move and paint the correspnding images: SV2 Main Code + Frame Code + Demo
Programming Challenge: List Processing "Simple Text Processing" Program to read text from a selected file and print the text in a reversed order: Reverse Code + Demo + Text Files: The Sick Rose(Poem) + If I Die Young(Lyrics)
Programming Challenge: Association Lists "Bistro Thing" Program that help order items from Bistro using Pair and Association List: Bistro Main Code + Demo + AList(Class) Code + AList(Interface) Code + Pair(Class) Code + Pair(Interface) Code
Programming Challenge: Binary Tree Thing Programs that involve the implementation of a basic binary tree ADT and the use of the BinaryTree class: BinaryTreeTester Main Code + Demo | ColorBinaryTreeTester Main Code + Demo + Color Binary Tree (Last Tree) | BinaryTree(Class) Code + BinaryTree(Interface) Code + BinaryTree(Exception) Code
Programming Challenge: Frequency Counter Program that makes use of the BinaryTree class to create a word frequency counter: FrequencyCounter Main Code + Demo + Text File: My Bonnie(Lyrics) | (For the BinaryTree class, refer to the last assignment)
Programming Challenge: Frequency Counter 2 Program that makes use of the HashMap class to create a word frequency counter and interprets certain commands: FrequencyCounter2 Main Code + Demo + Text File: My Bonnie(Lyrics)
Java Notes - Seventh Edition of Introduction to Programming Using Java (online textbook)
Think Java: How to Think Like a Computer Scientist - By Allen B. Downey (online textbook)
Java Examples - Java sample source code that helps to understand functionality of various Java classes and methods as well as various programming techniques
Oracle's Java SE Tutorial - Tutorials for users who wants to use Java programming language to create application
WWW Consortium - An international community that develops open standards to ensure the long-term growth of the Web
Java's Wikipedia Page - Information on the history and nature of Java
Java Tutorial Step by Step - YouTube tutorial videos designed for beginners
Java Structures - By DA Bailey on Data Structures and Programming in Java (online textbook)
w3schools.com - Tutorials on web-developing languages, e.g. HTML, CSS, JavaScript, etc.
Pragmatic Thinking and Learning - By Andy Hunt on how human brains learn and process information