280: Programming in a Second Language - Java
(as of August 21, 2017)
McElfresh (pronounced mac' - el- fresh)
(checked more frequently) or mcelfreshsa @ longwood.edu
- Th 12:30-1:30pm
- or when I am in my office with the door open
- or by appointment
Other times may be announced in class or on the website.
Course Web Page:
of the handouts in this course will be available through this World
Wide Web address.
Canvas will be used for
submission of some assignments and recording of grades on individual
assessments. You may wish to set up Canvas to send you an
grades and/or feedback is entered. NOTE: Canvas
does not always
calculate course grades correctly. The relative weights are
in this syllabus.
From the catalog:
"A programming-intensive course that gives students a
introduction to a language not taught in the introductory sequence.
Examples of languages which may be taught are Ada, Fortran, and Java.
May be repeated for credit when language changes. Prerequisite: CMSC
160 or consent of the instructor. 3 credits."
At the end of the course, a successful student will be able to:
- write moderately complex Java programs, comprised of
multiple components and making use of the Java libraries;
- use language documentation to discover new details about a
language or library;
- learn on their own how to program for particular libraries
Textbooks: There are two required
textbooks for the course:
Technology: It is
assumed that you have a laptop that you can bring to class and can
install software on if necessary. The software is
to Java Programming
(Comprehensive Version), by Daniel Liang (should
be available in the bookstore)
- Used copies should be fine. We will not be
using the online system associated with this book.
J Robot: A Gentle Introduction to the Art of Object-Oriented
Programming in Java,
by Bergin, Stehlik, Roberts and Pattis (Students do not need
purchase this book. Free copies will be made available.)
Pictures, Audio, and
should not take audio or video recordings in the classroom without
prior permission. Still pictures of the board may
be taken as a
supplement to note-taking. However, these should
not be posted
online or elsewhere such that they might be shared with someone not
enrolled in the class.
As some work will be done in
including groupwork, attendance is especially important.
than 5 unexcused absences may at my discretion result in a
of one letter grade in the course. Missing more
class periods may at my discretion result in a grade of F for the
The exercises in thiscourse will include readings, program commentaries,
program/script creation, or other work. They will
come from three scenarios:
Some class days will be "lab days" where there will be an
exercise to be completed in class. Some of these will be
individual assignments while others will be group or paired work.
Labs will be due at the end of the class period.
You will need to have your laptops on these days.
Late submissions due to absence will require permission and may
incur a 50% penalty. These days will be announced ahead
These will be assignments to be completed outside of
class. Some of these may be due the very next class period while
others may have a longer handin horizon,
depending on the nature of the assignment.
Late submission will require permission and may incur a 50%
There will be assignments that contain a portion to be
done in class and a portion to be done outside of class.
Late submission will require permission and may incur a 50%
Due the varying nature and horizon of assignments,
some assignments will be worth more than others. In order to
overall exercises grade, I will add up the number of points received on
exercises, and divide that number by the total number of points that it
was possible to recieve on exercises.
There will be quizzes
throughout the semester. These will typically take
the form of
short (5-15 minutes) sets of questions. If more
than 5 quizzes are given,
two quiz scores for each student will not be calculated into the course
There will be no makeup exams given without proper medical
During the scheduled Final Exam slot, there will
be final project presentations. More details on this will be
announced as the time
- Friday, December 8, 8-10:30am
SPECIAL NOTE: Exercises that
are not handed in, or quizzes and exams not taken will count as a 0.
Canvas does not always calculate these accurately.
relative weight of each item in determining
your course grade will be as follows:
||Course Grades will be assigned as
+'s will be assigned in the top 2 percentange points of the range.
|90 - 100
|80 - 89.9
|B-, B, B+
|70 - 79.9
|C-, C, C+
|60 - 69.9
|D-, D, D+
| 0 -
-'s will be assigned in the bottom 3 percentange points of the
Unless otherwise specified, all work is assumed to be your
are encouraged to discuss the exercises with other students, but you
write up your own solutions. Some guidelines:
be made in class to describe these issues. If you have any
as to what is appropriate and what is not, please ask me about it.
- When you
with other students, you must indicate this on your submission - by
a note at the top or bottom indicating with whom you consulted and a
of the level of consultation.
- When using a calculator or
you are expected to type everything in yourself.
- You should never be using "Save As" for another person's
computer files or emailing your work to another student for them to
modify and hand in.
exercises may explicitly allow (or even require) pair or group-work.
In these cases, it is assumed that each person contributed
the work being submitted.
- When doing
computer programming, you will often be utilizing someone else's ideas
or code and modifying them to be your own. In this case, you
fully document this in the program comments as well as any other
documentation. For some guidelines, see the Academic
Honesty in Computer Programming handout.
Longwood University is an academic community that
subscribes to an honor system.
By accepting membership in this community, we all assume the obligation
to be trustworthy in all pursuits. Violations may receive
grade penalties in the course and be referred
the Honor Board, which may impose additional penalties.
Tentative Topic outline:
|| Aug 21 - 25
|| Java introduction; Using Eclipse; Objects
|| Aug 28 - Sept 1
|| Sept 4 - 8
|| Objects with State
|| Sept 11 - 15
|| Objects with State; API
|| Sept 18 - 22
|| Text-based work
|| Sept 25 - 29
|| Java collections Framework
|| Oct 2 - 6
|| Oct 9 - 13
|| Built-in algorithms
|| Oct 16 - 20
|| Development Environments
|| Oct 23 - 27
|| Fall Break; Development Environments
|| Oct 30 - Nov 3
|| Working with files
|| Nov 6 - 10
|| Nov 13 - 17
|| GUI; TBA
|| Nov 20 - 24
|| TBA; Thanksgiving
|| Nov 27 - Dec 1
|| Dec 4
|| Final Project Presentations
A detailed day by day calendar will be kept up-to-date on the course