Programming 1 (Ohjelmointi 1) Fall 2007 for international students
Communication
The course has now ended. THANK YOU for all international students!
Let's meet at 16:15-18 on Fridays
Example solutions: behind this link.
Mailing list for the international ppl is:
ohj1_fall2007@korppi.jyu.fi
-- official language of the list is English.
Please, endorse conversation! Ask silly questions and receive silly
answers from everybody else. It will teach everybody a great deal!
It is now safe to remove yourself from the Finnish mailing
list. Removal is possible using the Korppi system somehow. But keep
yourself on the above mentioned international list, and start spamming
each other with knowledge. I think what the Finnish people are doing
is outstanding and a good example of each one (at least trying to)
teach each one. Of course the list is in Finnish, so you'll have to
start up your own conversation in English :-). I really, really, truly
hope it will happen.
Exercises
The
exercises
are not obligatory; you will be graded by your exam
result only. I provide them for three purposes: (1) They are a way
for you to learn and test your current knowledge. (2) If you send
your answers to me by email before each Friday (which would be
nice), I can see the direction where you're heading, and will be
better able to guide you in the Friday minilectures to come. (3)
They allow you to see the scope of knowledge that the Finnish
people are learning, which will be exactly the scope that will be
in the exam.
Exercise set 1
Exercise set 2
Exercise set 3
Exercise set 4
Exercise set 5
Exercise set 6
Exercise set 7
Exercise set 8
Exercise set 9
Exercise set 10
Exercise set 11
Internet resources
Overall information about everything
- WikiPedia
--- this is the user-generated knowledge pool of everything.
Be slightly wary of the content, because it comes from hobbyist writers;
but most of the computer knowledge seems to reflect reality quite well.
A good overall resource for finding the meaning of terminology and
general workings of information technology.
- Google (or other
Internet search engines of your choice...) When you reach the
point in which you are able to write proper search keywords, you
have billions of articles about programming stuff over there.
- ... and whatever you find, and seems valuable, send the link
to our email list! We'll include the links here. For example, if
you find a freely available textbook on Java somewhere in the
Internet, it would be wonderful.
Java class library API documentation
Code Conventions
-
Code Conventions for the Java Programming Language -- this
document describes how every Java programmer in the world should
communicate to each other (i.e., write and document their source
code). Read and keep these, follow these as strictly as possible,
and set your text editor/IDE to follow these automatically... Use
these always until you find yourself working in a project that has
defined a more specialized or customized set of conventions. Always
be sure to use some coherent set of conventions, no matter what
language you are using. On this course, we customize the rule set
by the following: Never use tabulator characters (even set at 8
spaces); use spaces instead.
On-line textbooks
The following items are available from Wiki Books. I have no idea
about their suitability, but Open Content is a good thing per se, and if
you really really cannot afford a textbook, then you need at least
something.
I strongly recommend a printed book!!
-
http://en.wikibooks.org/wiki/Java_Programming --- Java in particular
-
http://en.wikibooks.org/wiki/Computer_programming --- Computer programming overview
Tools
Two first tools to begin with:
-
ConTEXT
-- A free-of-charge text editor
-
Java SE Development Kit (JDK)
-- Basic toolkit for making Java programs. You have to make your environment variables proper after installing! Ask for help...
- You use the tools from Command Prompt (on a Windows system). Available
in every Windows machine, from the Start menu somewhere ...
If you want to transfer files between home and the university:
For Java Programming, you should later start using an IDE like this one:
- Eclipse IDE (You need to install the JDK first, see above link.)
Textbooks
Examples of Java textbooks in English (there are
a lot of these in addition to the listed ones):
- Walter Savitch: Absolute Java, Pearson Education.
(Companion Website)
From this book, the following seem to be the most important chapters:
- Chapters 1, 2, 3, 6, 9, 10 completely
- Chapter 5 with a couple of omissions (I'll have to look into the text to see which parts are relevant)
- Chapter 14 partly (I'll have to look into the text to see which parts)
- Chapter 4 is a bit problematic... I guess I'll be teching the
Finnish people about 10-15 pages worth of material digested
from the 90 pages of Ch. 4. If you find time, read the whole
chapter (it won't hurt to know more than is necessary; knowing
too little will hurt!)
- Appendices
Other chapters (7, 8, 11, 12, 13) and parts of at least 4 and 14
are covered on other courses in our curriculum (Programming 2,
Programming of Graphical User Interfaces, and courses in Software
Design and Software Engineering)
- Y. Daniel Liang: Introduction to Java Programming (Core Version),
Prentice Hall.
(Companion Website)
- John Lewis, William Loftus: Java Software Solutions, Addison Wesley.
(publisher's catalogue)
- Harvey M. Deitel and Paul J. Deitel: (Small) Java How to Program,
Prentice Hall.
(publisher's catalogue)