Skills Our Students Should Acquire
First, general non-programming skills:
- Be able to use a computer to find out things the teacher
didn't tell you (in general, develop the understanding that you
can find anything you need to know about computers and software
from the help button or from Google).
- Be able to download and install programs (e.g., WinZip,
- Be able to zip and unzip files.
- Be able to find and use your home directory on Windows,
Linux, or whatever.
- Be able to create a project/application/whatever on the
IDE that we choose.
- Be able to add the programming pieces of a zipped assignment
to the IDE.
- Be able to add new classes or packages to the IDE.
- Be able to design JFrames for input and output in the IDE.
- Be able to deal with System.in/System.out in the IDE.
- Be able to compile and execute programs from the command line.
- Be able to write programs using JFrames for input and output
(with the null layout, since that doesn't require learning
anything about layouts). I don't mind if they use the IDE to
create the frames, I'd just like them to be able to get their
input and output taken care of without too much fuss.
An alternative would be to know how to get parameters
from the command line, but that's so ugly.
- Be able to write programs using System.in and System.out for
input and output (for programs requiring file I/O - it's ok
if they can deal with just one input file and just one output
- Be able to use the Java API documentation to use core
- Be able to debug a program using breakpoints and examine the execution stack frames.
Java programming: In addition to the syllabus
- Exceptions and exception-handling.
- Java coding conventions.
- Specific Java classes:
package java.lang: All the data type wrappers, Object,
Math, String, StringBuffer, System
package java.io: BufferedReader, FileReader,
InputStreamReader (I think we can get away with
package javax.swing: JFrame, JLabel, JButton, JTextField.
package java.util: Arrays, Vector (most of the rest
should be introduced in data structures).
- I would make threads optional - I'd be willing to live without
them, but it would be great if the students knew about them.