Java
Intro Programming (With Passion!) Online Boot Camp
This course's website has been moved to http://www.javapassion.com/javaintro/.

- Class
Schedule (Presentation Material, Homework Assignments) - These
are old contents.
- Class
#1
(May 25th, 2006)
- Class
#2
(June 1st, 2006)
- Class
#3
(June 8th, 2006)
- Break period (No class on June 15th, 2006)
- Class
#4 (June 22nd,
2006)
- Class
#5
(June 29th, 2006)
- Break period (No class on July 6th, 2006)
- Class
#6
(July 13th, 2006)
- Class
#7 (July 20th, 2006)
- Break period (No class on July 27th, 2006)
- Class
#8 (Aug 3rd, 2006)
- Class
#9 (Aug 10th, 2006)
- Break period (No class on Aug. 17th, 2006)
- Class
#10 (Aug. 24th, 2006)
The
class
website is http://www.javapassion.com/javaintro1/index.html
(this page).
Sang
Shin (sang.shin@sun.com)
Java(tm) Technology Evangelist, Sun Microsystems, Inc.
Sang Shin's
Biography, Sang
Shin's
Speech Engagement Schedule
Sean
Dockery (sean@seandockery.org)
Biography
of Sean Dockery
People who made
contributions to this course
Course Title and
Description
- Title: Java Intro 1 Programming Bootcamp
- Description: This
bootcamp is for anyone who wants to learn Java programming for the
first time. In this course, students will learn how to write,
compile,
and run Java programs. They will also learn essential object oriented
programming concepts such as inheritance and polymorphism. Students
will write and run the Java programs using both command line tools and
NetBeans IDE. Each week, students are expected to do weekly homework
after studying the presentation and hands-on lab material. There
is
also class group alias where students can ask questions.
Course Objectives
- By the end of the course, students are expected
to
- Acquire a minimum knowlege to start J2EE
Programming online course
- Students are also expected to experience the
following during
the course.
- Having extreme fun!
- Being passionate!
- Appreciating what you've got!
- Appreciating your fellow human beings!
- Enjoying little things in life!
What is it like
to
take this course online?
- Online attendees of this course are expected to
do the course
work as following
- Read the pre-class reading material at the
convenient time of their choice - the dates specified are only for the
guideline
- Read the presentation slides (with speaker
notes) at the convenient time of their choice
- Do the homework and final project - the due
date of all homeworks and
final project is two weeks after the final class so you have plenty of
time to finish them
- Participate in class email alias
for asking and answering questions - the top 3 people (besides Sean
Dockery and myself) who answer the
most questions will get some personal gifts from me like T-shirts and
books and so on
- At this time, I don't have any plan (nor
resource) to offer
real-time webcasting. I am looking at a possibility of creating
the audio from the presentation material, however.
When will this
course be offered again?
- It
is my plan to offer this course on a regular basis maybe 2 or 3 times
per year.
- The next session will
get started 4 to 5 weeks after the previous session gets ended.
The exact
date will be announced on the class alias and on this website.
If I take this
course again in the next session, should I resubmit all the homeworks?
- Yes. If it is
the same exercise, just resend it.
What are the prerequisites?
- Previous programming experience with other
languages would be useful but not required.
What software and IDE
are we
going to use in this course?
Where are NetBeans
related resources?
Are
there Windows tools that might help you do homework's?
- cygwin
(download setup.exe and then double-click on it)
- Freely downloable utility programs that
allows you to use most Unix commands within DOS terminal
- Examples
- grep Hello */* */*/* (to find all
references of "Hello" string among any files under */* and */*/*
case-sensitive)
- grep -i hello */* */*/* (to find all
references of "hello" string among any files
under */* and */*/* case insensitive)
- diff file1.java file2.java
- InfoRapid search
and replace utility program
- Freely downloadable utility program that lets
you search and/or replace any string in a directory and its
subdirectories
Do I get a
certificate if I finish all the homeworks?
- If you submitted all the homeworks, you will be
given a certificate.
- The certificate has no affliation with any
colleges, educational
institution, company. Instead, it is just my personal recognition
that
you have done your share of work, thus successfully finished the course.
- You will be noted as "Graduates of the course" in the class website. You can
see an example from another
free online class I teach.
- At the end of the course, I will ask you to send
me your full name in the subject line field
How do
I know the homeworks I sent are received? Can I get some confirmation?
- If
your homeworks are not bounced back, please assume I received
them. It has been working for two years with no problem.
- With the last
homework, I will ask people to submit their full name, email address,
and Nationality (or Country you want to represent) as described here.
- On
Feb 29th (1 week after the 6th class), I will post the list of people
who submitted all the homeworks to the "Graduates of
this course".
If your name is not there somehow, I will work with you to resolve it.
Do I
get any responses from instructors regarding the quality of my
homeworks?
- The homeworks are
designed in a way that you know you have done your work or
not. In other words, you should not submit a homework
unless the work is done. If there is a vagueness in the homework
description, please post it to the class alias so that it can be
discussed and corrected by the instructors.
- Unless it is an
extremely unusual case, you will not get an individual response from
instructors indicating the quality of your individual homework.
This is more or less due to time constraint of the instructors.
Given that there are thousands of students taking this class, and
instructors are teaching this class as their spare time activity, there
is simply no way each homework can be reviewed/commented/corresponded
by instructors.
When is the deadline for
all homeworks?
- In general, the
homework is due before the next class - this is mostly a strong
recommendation not a requirement. All homeworks are due by 2
weeks after the last class.
Can I resubmit a homework?
Would this course
prepare me for Sun Certified Java Programmer Certificate exam?
- In
order to be ready to take Sun Certified Java Programmer Certificate
test, you will have understanding in topics covered in both Java Intro
1 and Java Intro 2.
- Next
time I will offer this class (Session 2), I might make it either
10-week or 12-week course, which covers both Java intro 1 and
Java intro 2 topics. For the current session, we will be done
with the #6 class.
- There
are some online materials for Sun Java Programmer Certificate exam
Can I take
"J2EE Programming with Passion!" online course after I am done with
this course?
- If
you take Java Intro 1, you will have minimally required knowledge to
start J2EE programming course. In fact, that is the reason I
chose to cover only Java Intro 1 topics.
- By
the way, you don't really need to understand most of the Java Intro 2
topics in order to start J2EE programming. For example, you will not
need to understand AWT/Swing. You will get by without that much
understanding of the Java threading as long as you have basic concept
of threading. Not much need for advanced I/O and so on.
What are ground
rules for posting questions to class email alias?
- When
you are posting a question, please make sure you've done
your share of work. Make sure you read the relevant
documentation, presenation slides, FAQ, and other postings before you
post your question.
- Also
please capture as much relevant information as
possible such as following
- trace of the exception
- screen output message of the failure
- environment variable settings
- OS platform you use
- Even
though the folks who usually answer questions
(including myself and Sean) are trying to address them as speedy and as
best
as they can, please understand that these folks are using their spare
time and resource to do these as voluntary activities. Please
also
note that answering questions like "I did this and somehow it doesn't
work" kind of questions are never easy to answer. Consequently
not all questions can be nor would be answered in timely manner.
- Please
ask questions that are relevant to the topics of the week
if possible so that we can have more focused discussions.
- If
you find any answers to the questions, please feel free to
post to the alias so that other people can benefit.
- I
know sometimes you want to send technical questions directly to me
(Sang Shin) and Sean Dockery but doing so is strongly discouraged due
to the following reasons:
- In
most cases, you will get faster responses by posting them to the class
alias. After all, that is what the community is all about. I
expect members to help each other on technical questions.
- I
personally cannot keep track of who sent what questions due to the
large number of emails I have to deal with. (I am sure many of you are
in the same boat.) Your questions posted on the class alias will remain
there so that they can answered at a later time by someone.
- In
general, myself and Sean are always and extremely stretched out in
terms of available time I have.
What are the
suggested netiquettes for posing to the class email alias?
- Please do not post a
simple "Thank you" note or "Hello" message to the class alias.
This class alias is subscribed by several thousand people so please be
aware that these messages are considered as noises by many people.
- Given that we are all
living in "instant messaging" age, it is not unreasonable to see folks
posting their messages using just lower case letters like following and
I know it is perfectly acceptable in instant messaging.
- "i write this with
only lower case letter i."
- But for posting
messages to an email alias where more than 2000 people are subscribing,
I would recommend everyone to follow a couple of guidelines if possible.
- Start a statement
with a capital letter like following.
- "I write this
with a capital letter I."
- Please do not use
short-hand.
- "u are my friend."
(Not recommended)
- "You are my friend."
(Recommended)
- Now having said that,
I know large percentage of the folks on this alias are not speaking
English
as their first language (including myself - I speak Korean at
home.) Please don't feel intimidated in posting. Less than
perfect English grammar is perfectly acceptable.
Where do I send
feedbacks about the course contents and other matters?
Are there any online
reading materials?
- There is no
designated textbook for this
course. Instead,
we are going to use publicly available online materials.
- The following online
materials are considered quite useful.
Why do
I still get emails even if I did unscribed the class alias by sending
an email to javaintro1-unsubscribe@yahoogroups.com?
- It
takes up to a day for the change to take effect based on our experience.
Where do I find the graduates of
this course?