CS 111B - Programming Fundamentals: Java

IMPORTANT: To register go to www.ccsf.edu

NEW USERS: You will receive login/password information approximately one day before class begins.

For info on CCSF's online system 'Insight' read the 'Insight FAQ' (left side frame) at http://insight.ccsf.edu

ALL USERS: There is an optional Face to Face orientation (Date/Time will be emailed to you approx 1 week before class) in ACRC Lab (Batmale Hall 3rd Floor) .

NOTE: There is a Face to Face final examination. Date/TIme/Place to be announced.

Instructor: Constance Conner
Phone: 415-239-3963
Office: Batmale Hall Room 424 (50 Phelan Ave, SF, CA, 94112)
Hours: Only face-to-face meeting is final exam (date TBA)
Email: cconner@ccsf.edu
Web Page: http://insight.ccsf.edu/

Required Text:  Java Software Solutions, 4th, 5th, 6th or 7th edition, ISBN for 5th edition (my favorite) is 0-321-40949-3; Author: Lewis & Loftus; Publisher: Addison Wesley.
You may buy the book at any of the online booksellers as well as in-person at the CCSF Bookstore:  http://www.ccsf.edu/Services/Bookstore/

In addition there are additional  readings for this course available online under from your Insight CS 111B Home Page. 

Prerequisites: CS110A or CS111A or Equivalent Experience

Course Objectives

Upon successful completion of this course, a student will be able to:

Design and implement abstract data types using classes

Use inheritance to define and implement modular object-oriented abstract data types

Manipulate arrays, including arrays of arrays

Perform input/output from the console, using a graphical user interface and to/from files

Use dynamic memory allocation

Design modular programs and multiple file programs using appropriate scoping of variables

Design and implement simple graphical user interfaces

Construct and publish applets that are accessible via the World Wide Web

Prepare written reports on assignments

Evaluate the suitability of object-oriented and structured program design

Methodology

The course is offered Online(with the exception of an optional orientation and an in-class final quiz). Most of your time will be spent reading, practicing Java through exercises, and writing Java programs to solve problems as part of assignments. The online readings (organized around 12 Lessons) provide a structured, largely self-paced, opportunity for you to systematically study the Java programming language. As you practice your Java knowledge, sometimes you will get stuck. At that point I (or your fellow students) will help you. By the end of the class, I expect that you will be able to solve common data processing problems using Java with more confidence.

Weekly Effort

My assumption is that everyone who is motivated and adequately prepared can succeed in this class. We will not be meeting face-to-face each week, but it does take time to do the reading, exercises, quizzes and complete the assignments. The amount of time needed varies widely between students and topics. How much is this? One guideline is 3 - 4 hours/week outside of class for every hour in class. A 3 unit, semester long class meets 3 hours per week. So in order to have a good chance for success, I suggest you plan for spending 9 to 12 hours per week for this class.

The class is arranged around 12 Lessons each one taking approximately 10 days.

With the exception of the orientation and the in-class final, this online section has no required face-to-face meetings. This format is especially valuable for those who cannot come to campus. The disadvantage is that you do not see the other students or the instructor and need more self-discipline to complete the work. You can test your readiness for an online class at the Distance Education Department's Student Resoures website: http://www.ccsf.edu/Departments/Distance_Education/
This site contains loads of valuable information and resources CHECK IT OUT!!!

Accounts

Each student in the class will get two computer accounts. One will be on a web server running Insight (http://insight.ccsf.edu). Insight is special course management software. It is where you will find the course content, assignments, discussions, quizzes and grades. The other account will be a Unix account on the CCSF student server (hills.ccsf.edu). This is where you will be able to practice Java. (You will also need to load Java your own machine, but some of the assignments must also run on the hills Unix server.) Assignments will be submitted directly to the class website using the Insight Assignment Tool. If you are adding the class, do so as soon as possible. You will have access to your accounts a few days after you add the class.


Grading

This is a skill-building class, so your grade will be based mostly on your completed assignments and your quiz results. There will be regularly scheduled for credit assignments. I post these on the class Insight page, and you turn them in by uploading using the Insight Assignment Tool. Your grade also requires you to post messages to the class Discussions board. This is where you will interact with me and other students to ask and answer questions, the same as if we were in a classroom. In addition there will be several quizzes and a comprehensive final quiz. The quizzes will be given online but the final quiz is in-person.

Course work will be weighted to determine your final course grade as follows:
 
Quizzes - (TOP 3 out of 4 @ 18%)
Final Quiz is In-Person
(Dates To Be Announced)
54%
Assignments (7 @ 6%) 42%
Class Participation thru Discussion Board 4%
Total 100%

Final Grade

A: 100-90     B: 89-80     C:79-70     D: 69-60     F:Below 60


Quiz and Assignment Deadlines

The quizzes will be available only for a limited amount of time. You only get one chance to take each online quiz and in-person final. The lowest quiz score will be dropped (this includes final quiz). There will be also be for credit programming assignments that include a variety of hands-on activities. There will be some extra credit available.


Late Assignments & Quizzes

If you cannot finish an assignment on time you can turn it in up to (but no later than) one week late, but it will be penalized 10%. Quizzes cannot be made up, instead I drop your lowest quiz score. This way if you miss a quiz you will not be penalized.  Deadlines will be extended if we have a problem on the CCSF network that prevents you from doing the work. This does not include problems with your home computers.


Attendance

You need to login numerous times each week to the class website. If you do not login during the first week or for any two weeks in a row after that, I may drop you from the class. If you need to miss several weeks in a row due to an emergency, please email me, so that I can try to help you with your class work. If you decide to drop the course, it is your responsibility to do so by the deadlines. Please do not depend on me to drop you.


Plagiarism

Since this is an online class, it is difficult to determine who has really done an assignment or taken an exam. Mostly I rely on your honesty and integrity, and that you are taking this class in order to improve your own skills. However, if you are tempted to copy someone else’s work, remember that when you copy someone’s assignment you also usually copy their mistakes. If I find plagiarism, then everyone with the same submission will receive no credit for that assignment. If you really want to help a friend with an assignment, then help them learn how to figure it out, instead of giving them the answers or letting them copy your work.

Student conduct must conform to College rules and regulations as outlined in CCSF Catalogue.

Communications

We will communicate mostly through email and the Insight class discussion board. When you have a question about what the book is saying or about an assignment, post it to the class discussion board. I will respond to the discussions. That way everyone can see the question and the answer. It will be a lot like asking a question in class. Remember part of your grade is based on posting to the discussion board. When you have a personal question regarding your grade or other matters, please send it to my regular email address (cconner@ccsf.edu). I will monitor the discussions and read my email Monday through Friday. If you prefer to discuss an issue face-to-face, then you may come to my regular office hours or make an appointment to meet with me.

I am hoping that as you become comfortable with the online format, more of you will ask questions and contribute to discussions than in a regular class. However, please remember the limitations of online communication, and take the time to re-read your questions or answers before actually posting them. As usual, offensive language or other breaches of CCSF Computer Policy are not acceptable. If you like to talk a lot, please do not talk too often or too long before giving others a chance to respond. If you are a quieter person, please take a chance and ask or answer some questions.