COSC 3461 - Announcements

Main Website for 3461
Java Programs for 3461



May 9 The (unofficial) final grades have been publised via courseInfo. As we're into the summer term now, the command you want to type to see your grade is "courseInfo 3461 2004-05 W".

April 28 Oops - those of you that had grade changes for the midterm exams will have noticed that courseInfo had the original grades, not your remarked grades. This is just a 'cut and paste' problem that has now been fixed. courseInfo should now show the proper grades.

I've just heard from the teck people that there's been a problem with the courseInfo command reporting an error reading the "infoFile". They tell me that this problem has now been fixed - if you still get an error message when you use courseInfo, please let me know.


April 27 I've made your assignment and midterm marks available through the courseInfo command (just type "courseInfo 3461" in the undergraduate unix environment). Please double-check your grades! The grades you see through courseInfo are copied directly from the spreadsheet I will use to calculate your final grades (once the final exams have been marked).

Your final grades will be made available next week through the courseInfo command.

I will be at my office hours tomorrow (Thursday the 28th, from 1:00 - 2:00 pm).

There has been talk by some of you about going for a beer to celebrate the end the course, so next Wednesday (May 4th) I will head over to BlueBerry Hill (on campus, in York Lanes) around 2:00 pm. I'm going to bring my laptop with the Assignment #3 solutions, so if you want to see the A+, or if you're just thirsty, then come for a beer!


April 25 I will be at my office hours tomorrow (Tuesday the 26th, from 1:00 - 2:00 pm).

Don't forget about the Final Exam on Wednesday!


March 31 Today is the final class for this term! Today we will finish the last module. Regarding a review - I will not present a review of the course, but I will answer any questions you have about the course materials and the final exam; so please bring any questions you have to class.

Assignment #3 is due tomorrow, Friday April 1st, at midnight.

The final exam will be at 9:00 AM, on Wednesday April 27th, in CB 121 (CB = the Chemistry Building, which used to be known as the Chemistry and Computer Science Building).

Some information on the final exam is available here.

I will not be holding regular office hours in April, but I will meet students during my office hours (1:00 PM - 2:00 PM, Tuesdays and Thursdays) if you send me an e-mail to make an appointment.

Don't forget to keep checking this webpage - there will be announcements between now and the final exam.

Thanks for a great term - see you at the final exam!


March 29 The next set of notes are available for download. 3461-10.pdf

March 25 I thought I'd provide a link or two to websites discussing the psychological experiments I discussed in class yesterday.

The Milgram Obedience Experiment is discussed here.

The Hawthorne Effect is discussed here, and, here.

Some discussion of Wizard of Oz experimentation techniques appears here, and, here. A research paper employing the Wizard of Oz technique is available here.


March 24 The notes for today's lecture are available for download. 3461-09.pdf

March 22 I've got a couple of questions about using menus with the glasspane. There is a bad interaction between the glasspane and menus, and the solution is to disable the glasspane whenever the menus are active. I've created a new demo program showing one way to do this. Here it is, a3glasspanemenu.java.

Also I noticed a couple of lines of code in the a3glasspane.java program that were not needed (I must have been very sleepy when I wrote that program!) so I'm posting a cleaned-up version, a3glasspane.java.


March 22 The course evaluation is scheduled for the end of class today.

Our classes this term usually have started a little past 4:00 pm, because (if I'm not late myself) I like to leave a little room for stragglers. But today we will need all of the time available to us, so I will try to get going promptly at 4.

Last class I showed a program that demonstrates how you can define your own interface, and how to use objects of your interface class. That program is interfacedemo.java. As I said in class - classes and interfaces are very useful features of the Java programming language. The improved organisation of your code due to appropriate use of classes and interfaces can significantly reduce your work-load, simplifies finding and fixing bugs, and makes it easier to extend your code later.


March 17 I'm happy to recieve so many questions regarding assignment #3. By this point in time you should have a fairly firm idea of the interface you intend to build, and you should be starting to code.

The program I demonstrated in class on Tuesday is available, a3plus.java. Several people have come to me asking about the glass pane, so I've created a demonstration program that is identical to the a3plus.java program, but that uses the glass pane instead. Here it is, a3glasspane.java. I will discuss this program in class today.

March 15 The notes for today's lecture are available for download. 3461-08.pdf

March 11 At 9:40 AM yesterday I became a Dad! Both the mother and baby are doing great. Here's a picture of my son "Ilya Soukoreff". I'll see you all in class on Tuesday.


March 8 Assignment #3 has been posted.

Don't forget that Thursday's class (on March 10th) has been cancelled.

March 3
(after class)
Big Announcement: The deadline for Assignment #2 has been extended (well, sort of). You now have until Monday the 7th at midnight to submit your assignment. But, to be fair to those that will be ready to submit their assignments on time, there will be a 5% bonus to groups that submit their assignments by the deadline (Friday at midnight). A 5% bonus corresponds to one bump up the letter grades, so a B would become a B+, etc. I will determine who gets the extra 5% by examining the file modification times of the files you submit - so to take advantage of the Friday night deal, you must not submit anything after the Friday midnight deadline.

There were some students asking me how to change the position displayed through a JScrollPane without using scroll bars. Check out the buttons in this program for an example of how to do this.

March 3 The section from the Java Tutorial on Fonts that we discussed in class is available online here.

Today in class I will return and take-up the midterm.

March 1 The notes for today's lecture are available for download. 3461-07.pdf

February 24 The notes for today's lecture are available for download. 3461-06.pdf

February 22 Today is the midterm! Note that the midterm will not be held in the regular classroom, instead we will be in FC 034A (FC = Founder's College).

Note! I was just informed that the SpringUtilities.java program was missing from the demo java programs website. It is now available.

February 10 Assignment #2 has been posted.

Also, don't forget that Assignment #1 is due tomorrow (Friday Feb 11, at midnight).

The next class, on February 22, will be the midterm. Note that the midterm will not be held in the regular classroom, instead we will be in FC 034A (FC = Founder's College).

Reading Week is upon us! I will not be available for office hours on Tuesday of reading week (Feb 15th), and to meet me on Thursday you must e-mail me and make an appointment.

Some students asked how you install a keylistener on a JComboBox. You have to use JComboBox.getEditor().getEditorComponent() which returns the JTextField object used by the JComboBox for text editing. So to install a keylistener on a JComboBox called combobox you should use something like
combobox.getEditor().getEditorComponent().addKeyListener(this)

February 8
(after class)
I had a question after class from some students who wanted to know how to get the text entered by the user into an editable JComboBox. Here's a program that does this ComboBox.java. Look in the action listener and you'll see the function you're looking for. When you run the program, type anything you want into the JComboBox and hit enter.

Some students have complained that they've found bugs in Java/SWING. If your program crashes or behaves strangly, it is much more likely to be a bug in your code than a problem with SWING. And regardless of where the bug is, you've still got to investigate it to find your work-around. A really useful debugging tool is "System.out". All of the events and widgets have "toString" functions that provide useful information.

To the fellow who spoke to me after class claiming that you can only use ".getSource" once on an event object, check-out the comments in the above program, right at the end of the action listener.


February 8 The notes for today's lecture are available for download. 3461-05-Supplement.pdf

February 3 The notes for today's lecture are available for download. 3461-05.pdf

February 1 Today in class we had a question about how to wrap text in a scrollable text widget. This can be accomplished using a JTextArea and enabling word-level wrapping of text with these two functions:
   JTextArea.setLineWrap(true);
   JTextArea.setWrapStyleWord(true);
   
Here's a program that demonstrates how this can be done: WrapText.java

January 25 The TA's name is Steven Castellucci, and he can be reached at: ta3461@yahoo.ca. You are free to ask him questions about the assignment, and he is the first person you should talk to regarding marks. He is not holding any office hours per se, instead he is available through e-mail. You may contact him through e-mail to make an appointment to see him, if necessary.

In Assignment #1, note #8 states that you are not allowed to use the "york" package (a library of utility routines intended for the first-year students). Apparently this package has been renamed the "Type" package. Although not strictly a requirement - it would be helpful to the TA if you do not use the "Type" package either.

Here are links to the pages in the Java Tutorial that we talked about during class today on The Root Pane, JFrames, JPanels, and Borders.


January 20 The notes for today's lecture are available for download.
3461-03 - Supplement.pdf
3461-04.pdf

Assignment #1 has been posted.

Most of the class seems to have found their assignment groups of three. If you still need to find your assignment partners, then come to the front of the room at the end of class today.

Also, note that we now know the location for the midterm (to be held during class time, on February 22). The midterm will be held in FC 034A (FC = Founder's College).

January 18
(after class)
The Java demo programs have been put on line. They're available here! You are responsible for being familiar with these programs and for knowing the content of their javadoc comments.

Some of you were interested in the batch file I use to compile and run java programs during class. The batch file is called j.bat. Put this file in your c:\windows directory (that way, it's in the DOS path). When you use the j program, leave the ".java" off the Java filename. For example, to compile and run the "DemoHelloWorld.java" program, type "j DemoHelloWorld". For this program to work for you, you need the java and javac programs to be in the DOS path. To see the DOS path under Windows XP, go to the control panel, open System, choose the Advanced tab at the top of the window, and click on the Environment Variables button at the bottom. Make-sure that the Java binaries path appears in the PATH variable at the bottom. The default Java binaries path is c:\j2sdk1.4.2_01\bin and so this is likely the path you should add to the PATH variable, unless you installed java somewhere else on your computer. (Note! Semicolons are used to delimit the paths specified in the PATH variable.)

Also, if you already had Java installed on your home machine, don't forget to check the version and upgrade it if necessary. There's a link on the main 3461 page to the Java download page. You can find your version of Java by typing java −version. You should have Java 2, build 1.4.2.


January 18 The notes for today's lecture are available for download. 3461-03.pdf

January 13 There are supplementary notes for today's lecture available for download. 3461-02 - Supplement.pdf

January 11 The notes for today's lecture are available for download. 3461-02.pdf

January 6 The notes for today's lecture are available for download. 3461-01.pdf

January 4 The notes from today's lecture are available for download. 3461-00.pdf
Also, the video that I tried to show in class today is available here.

January 1 Welcome COSC3461 students!

The first lecture will be on Tuesday, January 4th.

Preliminary versions of my slides will be available for download from this website the morning of each lecture. The source code for programs demonstrated in class is available here.