CMIS 242

Grade is posted

Week 8
Last week of the class.
This week is about files
Demo program: ObjectFile.java shows how to serialize objects to a file and then how to unserialize them from a file. Lots of incantations are needed to use files.
Homework assignment about serialization to/from files. Due: 11 May


Week 7
This week is about binary search.
Brief description about searching.
Demo program: SearchArrayListTest.java.
Homework assignment about searching. Due: 4 May
Week 6
Let's learn how to do a basic GUI. This program:
SwingGUIsFrameDemo.java
shows, demos, explains how to setup and interact with a GUI. It has several "widgets". Read it and run it until you sort of understand it.
This program:
SwingGUIsFrameDemoOne.java
strips out all but the code to do one button, so you can see one tree in the forest.
And here is Week 6 assignment Due: 27 Apr.        DateDriverGUI.gif
Week 5
This week is about Queues.
Brief description about queues.
Demo program: QueueTest.java.
Demo of the underlying LinkedList class: LinkedListTest.java.
Another example program: automatically randomly enqueuing and dequeuing: QueueTestRandom.java.
Homework assignment about queues. Due: 20 Apr.
Week 4
This week is about the Stack class.
Brief description about stacks.
Demo program: StackTest.java.
Another demo program: Postfix.java
TokenizerTest.java demos the StringTokenizer, which is used in Postfix.
Homework assignment about stacks. Due: 13 Apr.
Week 2's assignment is graded. Look at your posting comment for my comments.

Week 3
ArrayListofDates.java shows what else is needed when putting user-defined objects (like our Date class objects) into an ArrayList and what else is needed if you want to sort or compare or find the min or max of them. It uses/needs: DateComparator.java and DateComparatorJulian.java It also uses/needs our Date.java (either the original posted or your improved version, but increment and isValidDay won't be tested this week).
This program requires a fair amount of reading (let the //** comments help with that), study, and running (simultaneously). It would be tedious to hand-create a bunch of Date objects, so the generateRandomDate method creates a random one each time it's called.

Week 3 assignment Due: 6 Apr. Some more practice with ArrayList, specifically with a user-defined class, our Date class of course.


Week 1's assignment is graded. Look at your posting comment for my comments.

Week 2
Let's learn about ArrayList, a built-in class that can do everything an array can do and more.
ArrayListTest.java demos and explains what an arraylist is and how to use it. It includes use and explanation about iterators. Also demos the static methods of the Collections class; these are the algorithms that work on collections. Download, run, read, learn the stuff in it by reading and running it.
Liang 11.11 is about ArrayList.

And here's an assignment so that you really learn the material: Week 2 assignment Due: 30 Mar.


FYI:
The Best Jobs of 2012 IT careers: #2,5,6,7,9
BLS 2013 CS occupations.docx
They're saying it, software engineering is the best job in USA. IT analyst is not bad either.
They're saying it again, software engineering is the best job in USA. IT analyst is not bad either.
Most valuable degrees
Major #1: Bachelor's Degree in Computer Science

Week 1
Post a brief bio in the Bios Conference. Tell us where you are, what you do, why you're taking this course, where/when/with whom you had 141, what hardware/O.S.software/IDE you're using.

Use the Q&A Conference to ask questions (and post answers).

So I can get an idea of what you did in your 141 class, post the code of the most complex program you wrote in your 141 class in the Max141 Conference. Follow the guidelines posted there about how to post code in Tycho to avoid the format destruction that Tycho does.

It's a GUI world, so let's get away from console Scanner I/O, if that's all you did in your 141. Download, compile, run, read, experiment with these programs about JOptionPane dialog windows and JTextAreas:
Dialog.java
ScrollPaneTest.java
None of my example programs require any Project or Workspace or whatever in any IDE. Just open the file, compile and run it.
Indentation of my programs won't display correctly in JCreator unless you change its tab size to 8 characters:
Configure | Options | Editor Java Tabs Size:8

We'll have weekly assignments, mostly involving modifications to that week's example programs. We'll use a typical example class (the Date class just below here) and store objects in Arrays, ArrayLists, Stacks, Queues, Files, HashSets, TreeSets, and search and update them, in other words, the traditional data structures of computer science but in Java and with GUI.

This week study this Date.java which demonstrates a bunch of object-based programming (OBP) features in a concrete class. We will be using this Date class throughout the course. It contains a lot of material; you'll have to spend time to get acquainted with it.
It is used by the DateDriver.java as client code.
Download these two files, open the driver in your IDE, compile it (the Date class will be compiled too), and run it. Construct some Date objects using the four constructors and assign them to elements of the array. Test the other methods too.
Relevant sections/pages from Liang textbook: chapter 8
Week 1 assignment Due: 23 Mar

Syllabus