Nova Southeastern University
Graduate School of Computer and Information Sciences

Course Syllabus
MCIS 501: Java Programming Language (3 c.u.)

Fall 2009: August 24, 2009–December 13, 2009; online

Instructor Amon Seagull
address
Graduate School of Computer and Information Sciences
Nova Southeastern University
3301 College Avenue
Fort Lauderdale, FL  33314
email
voice (954) 262-2048
fax (954) 262-3914
office Carl DeSantis Building, rm. 4149
office hours any business hours, but make an appointment first

Please use the discussion areas in WebCT to ask questions, and reserve email or telephone for things you feel are not appropriate to discuss in the group.

Course Logistics

You are expected to check WebCT for announcements [at least] semi-weekly, and your NSU email account daily. See the paragraph in the GSCIS catalog, repeated below, on using NSU email accounts.

Course Description

An in-depth study of the Java programming language. Principles of the object-oriented paradigm. Object-oriented programming theory and practice.

Required Textbook

Dale, N. and Weems, C., Programming and Problem Solving with Java, 2nd ed., Jones and Bartlett.
ISBN-10: 0-7637-3402-0

Other books that might be useful, just in case you want more perspectives:

Required Software

You will need a Java development environment. For Windows, Linux, and Solaris users, please install the most recent version of the Java SDK (the JDK), available from Sun Microsystems's website. Mac OS X comes with a Java environment installed (XCode, plus a compiler and virtual machine, all from Apple). If your Mac OS X installation has Java v1.4, you can download the newer version here.

Our textbook comes with a CD that includes Java 5.0 and an integrated development environment (IDE) called "Eclipse". You can also download Eclipse from www.eclipse.org. In the past, I have recommended NetBeans. There are a lot of free (and not free) IDEs available, any of which will work. It is up to each student to become familiar with the chosen IDE.

For those who enjoy a less rich user interface, it is also possible to work with a simple text editor (such as Windows Notepad or even just DOS edit) and the command-line tools. (If you are familiar with emacs or xemacs, you might use those as well. This is what I use.) For more information on the command-line tools, see this overview, as well as the "official" docs.

Exit Competencies

Upon completion of this course, students will be expected to:

  1. Describe hardware and software components of a typical computer system.
  2. Explain concepts of object-oriented programming.
  3. Design and write object-oriented programs using the Java language, including

Course Schedule and Outline

We will cover [most of] chapters 1 through 11, and 14, of the text:

Week Material Reading
1 Object-Oriented Problem Solving Ch. 1
2 Starting Java Ch. 2
3 Class Design Ch. 3
4 Class Design (cont'd)
5 More Java Basics Ch. 4
6 Selection Ch. 5
7 Iteration Ch. 6
8 Additional Control Structures Ch. 7
9 More Java Features Ch. 8
10 Inheritance and Polymorphism Ch. 10
11 Inheritance and Polymorphism (cont'd)
12 Arrays Ch. 9 through §9.3
13 Lists Ch. 11
14 Lists (cont'd)
15 Applets Ch. 14
16 Final Exam

Instruction Methods and Tools

WebCT will host course materials, provide for discussion and announcements via discussion boards, and manage submission and feedback on assignments.

Please make use of the discussion boards to post general questions or points of information for the class. At times, I will post questions. Please participate actively. Without that, I have no way of gauging how the course is going until I evaluate homework submissions. Keep in mind that concision is a virtue, and you should keep to the same standards of civility you would in a face-to-face interaction. (Or rather, that I would keep in a face-to-face interaction.)

When responding to a post, please make sure to use the "reply" button, so topics are organized. I will not bother to use distinct "discussion groups" for this course (except for the student area), but rather depend on good subjects and threading to group things for us.

Note then I will often post HTML (or link to an HTML page), where typewriter font indicates code fragments or sample output or perhaps Java keywords. Italic typewriter font indicates placeholders for things that you need to specify in a Java program.

Please use the discussion boards if you have a question about any aspect of the course. If you have a question that is not appropriate for all to see, you may mail me.

Assignments

Assignments will consist of programming projects in Java. They will be submitted electronically, in WebCT.

Examinations and Quizzes

There will be one final examination, worth 20% of your course grade.

Grading Criteria

Participation in an online class is measured via active use of the online discussion board, as mentioned above. Participation in a campus course is measured traditionally, via attention and responsiveness in class.

Programming assignments (constituting 75% of your course grade) will be graded for style (50%) as well as correctness (50%). Correctness is satisfied when your program solves the problem assigned. Style often seems nebulous to a beginning programmer, but hopefully becomes second-nature to a programming veteran. The basic components of style, as expected in this course, are:

Documentation
Possibly more important than the code itself, documentation is the programmer's communication for human readers. See Appendix F of our text for more.

Please also include with each submission a plain text document called "README" that explains, for each project you are submitting, what its status is. I.e., is it fully coded and tested, or coded but not tested, or coded with remaining errors [explain], or logically incomplete...?

Of course, remember that documentation is prose, and while occasional abbreviations are acceptable, misspellings and ungrammaticality are not. Note the paragraph below on writing skills

Design
As you write larger and larger programs, more design choices need to be made. Correspondingly, design issues become more vital in larger programs, otherwise software becomes unmanageable.

Design issues "in the large" involve decisions about what classes will be defined, and what methods will be provided by those classes. But design issues "in the small" include good programming habits like avoiding magic numbers, distinguishing constants from variables where appropriate, using informative variable names, and avoiding redundancy where possible. For more details, see the "design guidelines" in Appendix F.

Presentation
Many seemingly small points are vital to the readability of your programs. Follow Java conventions for issues such as capitalization and indentation; let your editor help you where it can. See also the "style guidelines" section in Appendix F.
The course average will be computed from the programming assignments (75%), final exam (20%), and class participation (5%). Final grades are assigned based on the following scale.
Grade Awarded A A- B+ B B- C+ C C-
Course Percentage Required 93 90 87 84 80 77 73 70

Note that a cumulative course percentage below 70% earns an ‘F’. Note further the paragraphs below from the Graduate Catalog, on incompletes and withdrawals.

Class/Course Rules

Assignments are due at 11:55pm on the date due (usually a Sunday). If you find you cannot turn in an assignment on time, notify me by email before the due date. With proper notification, assignments are accepted up to one week late, with a 15% penalty.

This course is fundamentally about skill-building. More specifically, it is about building skills that you will need in successive courses in the MCIS and MSIS programs. Therefore, it is imperative that you complete assignments using your own intellectual effort. At times, you may need help from me or from your classmates. Please use the discussion boards. Avoid asking for (or giving) information like "what Java code do I write here?". Instead, try to stick to higher-level design questions (like "I know I need to capture X, but how do I incorporate it into my program?") or debugging questions ("I'm getting compiler error A for code fragment B").

For a complete description of what constitutes proper student conduct, see the sections entitled "Code of Student Conduct and Academic Responsibility" in the Graduate Catalog and the NSU Student Handbook, as well as the section "Student Misconduct" in the Graduate Catalog.

School and University Policies and Procedures:

Students must comply with the policies published in the school’s Graduate Catalog and the NSU Student Handbook, some of which are included or referenced below. The catalog is at http://www.scis.nova.edu/NSS/pdf_documents/Catalog.pdf. The handbook is at http://www.nova.edu/cwis/studentaffairs/forms/ustudenthandbook.pdf.

  1. Standards of Academic Integrity For the university-wide policy on academic standards, see the section Code of Student Conduct and Academic Responsibility in the NSU Student Handbook. Also see the section Student Misconduct in the GSCIS catalog. Each student is responsible for maintaining academic integrity and intellectual honesty in his or her academic work. It is the policy of the school that each student must:

    Crediting the Words or Ideas of Others

    When using the exact words of another, quotation marks must be used for short quotations (fewer than 40 words), and block quotation style must be used for longer quotations. In either case, a proper citation must also be provided. Publication Manual of the American Psychological Association, Fifth Edition, (2001, pp. 117 and 292) contains standards and examples on quotation methods.

    When paraphrasing (summarizing, or rewriting) the words or ideas of another, a proper citation must be provided. (Publication Manual of the American Psychological Association, Fifth Edition (2001) contains standards and examples on citation methods (pp. 207–214) and reference lists (pp. 215–281)). The New Shorter Oxford English Dictionary (1993) defines paraphrase as “An expression in other words, usually fuller and clearer, of the sense of a written or spoken passage or text...Express the meaning (of a word, phrase, passage, or work) in other words, usually with the object of clarification...”. Changing word order, deleting words, or substituting synonyms is not acceptable paraphrasing—it is plagiarism, even when properly cited. Rather than make changes of this nature, the source should be quoted as written.

    Original Work

    Assignments, exams, projects, papers, theses, dissertations, etc., must be the original work of the student. Original work may include the thoughts and words of others but such thoughts or words must be identified using quotation marks or indentation and must properly identify the source (see the previous section Crediting the Words or Ideas of Others). At all times, students are expected to comply with the school’s accepted citation practice and policy.

    Work is not original when it has been submitted previously by the author or by anyone else for academic credit. Work is not original when it has been copied or partially copied from any other source, including another student, unless such copying is acknowledged by the person submitting the work for the credit at the time the work is being submitted, or unless copying, sharing, or joint authorship is an express part of the assignment. Exams and tests are original work when no unauthorized aid is given, received, or used before or during the course of the examination, reexamination, and/or remediation.

  2. Writing Skills

    Students must demonstrate proficiency in the use of the English language. Grammatical errors, spelling errors, and writing that fails to express ideas clearly will affect their grades and the completion of their academic programs. The faculty will not provide remedial help concerning grammatical errors or other writing difficulties. It is the student’s responsibility to proofread and edit his or her work which, in both form and content, should be letter-perfect. Work that is not properly edited will be rejected. It is university policy that students must submit their own work, not that of another person. Consequently, they should refrain from using outside editors to redo their work.

  3. Disabilities and ADA

    NSU complies with the American with Disabilities Act (ADA). The university’s detailed policy on disabilities is contained in the NSU Student Handbook. Student requests for accommodation based on ADA will be considered on an individual basis. Students with disabilities should discuss their needs with their academic advisors before the commencement of classes if possible.

  4. Communication by Email

    Students must use their NSU email accounts when sending email to faculty and staff and must clearly identify their names and other appropriate information, e.g., course or program. When communicating with students via email, faculty and staff members will send mail only to NSU email accounts using NSU-recognized usernames. Students who forward their NSU-generated email to other email accounts do so at their own risk. GSCIS uses various course management tools that use private internal email systems. Students enrolled in courses using these tools should check both the private internal email system and NSU’s regular email system. NSU offers students web-based email access. Students are encouraged to check their NSU email account and their course management email daily.

  5. The Temporary Grade of Incomplete (I)

    The temporary grade of Incomplete (I) will be granted only in cases of extreme hardship. Students do not have a right to an incomplete, which may be granted only when there is evidence of just cause. A student desiring an incomplete must submit a written appeal to the course professor at least two weeks prior to the end of the term. In the appeal, the student must: (1) provide a rationale; (2) demonstrate that he/she has been making a sincere effort to complete the assignments during the term; and (3) explain how all the possibilities to complete the assignments on time have been exhausted. Should the course professor agree, an incomplete contract will be prepared by the student and signed by both student and professor. The incomplete contract must contain a description of the work to be completed and a timetable. The completion period should be the shortest possible. In no case may the completion date extend beyond 30 days from the last day of the term for master’s courses or beyond 60 days from the last day of the term for doctoral courses. The incomplete contract will accompany the submission of the professor’s final grade roster to the program office. The program office will monitor each incomplete contract. If a change-of-grade form is not submitted by the scheduled completion date, the grade will be changed automatically from I to F. No student may graduate with an I on his or her record.

  6. Grade Policy Regarding Withdrawals

    Course withdrawal requests must be submitted to the program office in writing by the student. Requests for withdrawal must be received by the program office by the calendar midpoint of the course (see dates in the academic calendar in the catalog and program brochures or websites). Withdrawals sent by email must be sent from the student’s assigned NSU email account. Requests for withdrawal received after 11:59 p.m. EST on the withdrawal deadline date will not be accepted. Failure to attend class or participate in course activities will not automatically drop or withdraw a student from the class or the university. Students who have not withdrawn by the withdrawal deadline will receive letter grades that reflect their performance in the course. When a withdrawal request is approved, the transcript will show a grade of W (Withdrawn) for the course. Students with four withdrawals will be dismissed from the program. Depending on the date of withdrawal, the student may be eligible for a partial refund (see the appropriate catalog section Refund Policy Regarding Withdrawals).

  7. Acceptable Use of Computing Resources

    Students must comply with the university’s Policy on Acceptable Use of Computing Resources (see NSU Student Handbook).

  8. Academic Progress, Grade Requirements, and Academic Standing

    Students must be familiar with the school’s policies which are contained in its catalog.

  9. Student Research Involving Human Subjects

    Students must be familiar with the university’s policy (see paragraph in catalog).