CS 239 Advanced Programming - Syllabus
General Overview: Students use
various advanced problem-solving strategies to develop algorithms using
classes and objects. Students also learn how to implement and use elementary
data structures, including character strings, records, files, stacks and
queues. developing clear, concise, and correct algorithms to solve problems
on a digital computer.
Instructor Information: |
Office: |
ISAT/CS Room 217 |
Phone: |
568-8771 (88771) |
E-mail: |
harrisnl with usual jmu extension |
IM: |
harrisnl55 |
Web: |
Home Page |
Policies: |
Instructor Policies |
CS239 – Advanced Programming
General Overview:
Students use various advanced problem-solving
strategies to develop algorithms using classes and objects. Students also
learn how to implement and use elementary data structures, including
character strings, records, files, stacks and queues. developing clear,
concise, and correct algorithms to solve problems on a digital
computer.
Prerequisites: CS 139 or
equivalent with a grade of "C" or better.
Note: Students planning to
continue to CS240 next semester should take CS or Math 227 during this
semester. CS/Math 227 is a prerequisite to CS 240 and CS350.
Overall Objectives:
- Object-Oriented paradigm–Students will learn how to use OO programming in
conjunction with other structured programming techniques.
- UML – Students will use the Universal
Modeling Language (UML) for diagramming.
- Coding Practice – Students will write
clear, concise, and correct algorithms. In addition, students will
improve their ability to solve new computing problems.
- Software Engineering Approach – Students
will use the software engineering discipline in using thoughtful design
and coding, desk-checking, and thorough unit and integration testing in
the production of software applications.
- Professional ethics – Intellectual
property is owned by its creators and cannot be appropriated without
permission. Even when used with permission, its creator must be cited.
Turning in someone else’s intellectual property as one’s own
is a violation of professional ethics as well as the JMU Honor Code.
Students will be held to a high ethical standard in class and in all
class assignments.
- Reading Specifications–Students will develop skills in reading
specifications carefully and understanding what they state and using such
specifications in the production of correct applications.
The lecture days will include a theoretical
discussion of programming concepts and features. The lab days will permit
students to practice what they have learned in lecture or read in the
assignments. Labs will consist of either experimentation, program development
or both. If a student finishes the assigned lab exercise early, time to work
on programming assignments is provided. In general, labs will have an
assigned task, so should not be viewed as“study
hall”. Labs may take longer than the lab period
provided.
We will use Blackboard and the web as a means
of communicating. Announcements for class will be made on the Blackboard
announcements page or the course web page if Blackboard is unavailable. Any
other announcement that you receive through other means (such as e-mail) is
suspect unless confirmed by Blackboard or the course web page in the event of
Blackboard failure. If I send an e-mail to the class as a whole, I will also
put the text into a Blackboard or web announcement.
Textbook and Required Material
- LEWIS, JOHN LOFTUS, WILLIAM (2004).
- Java Software Solutions Fourth Edition.
Addison-Wesley. ISBN 0-321-24583-0. Provides concrete examples of
programming concepts and implementation techniques using the Java
language as a base.
- JAC Card:
- There may be times in lab that you need
to print a worksheet, a completed assignment or other work. You must
have your JAC card with you and some money on it for printing. Make
sure that you have a couple of dollars on the card each day.
- Backup Media:
- Whether you use a floppy disk or a
memory stick, it will be important that you have a backup device
available to use in the lab. While you will get some network space,
sometimes the network goes down and you need some way to continue
working. Lab machines do not provide a permanent save. When the machine
is logged out, your work is lost.
- Manila (file) folder:
- Each student must bring to class one
regular size (not legal) manila folder with his/her name marked clearly
(printed) on the tab, last name followed by first name. I will return
all work to your folder, which will be available in the lab.
Grading
Exam 1 |
20% |
Exam 2 |
20% |
Final Exam |
30% |
Programming Assignments |
20% |
Labs, homework, quizzes,etc |
10% |
I generally grade exams and programming
assignments on a 100 point scale. Letter grades correspond to 10 point
ranges...90 - 100 = "A", 80 - 89.999 = "B", etc. "F" is used for work below
60%. Labs, homework and quizzes will be graded as A-excellent and
complete(95), B-incomplete or with some errors(85), C-major errors or missing
requirements(75), F-unacceptable but some earnest attempt made(50). 0 will be
used for work not turned in.
Students with
Disabilities:If you are a student with a documented disability, who
will be requesting accommodations in my class, please make sure you are
registered with the Office of Disability Services, Wilson Hall, Room 107
(568-6705) and provide me with a copy of your Access Plan letter outlining
your accommodations. I will be glad to meet with you privately during my
office hours to discuss your special needs. The sooner you can do this, the
better I can assist you in meeting your learning goals in this
course.
Student
Responsibility: Student are
responsible for adding and dropping courses via e-campus. The last day to add
a course for the Spring 2006 semester is Thursday, Jan 26, 2006 (signatures
required after Tuesday Jan 17). The last day to drop a course for the Spring
2006 semester with a "W" grade is March 15, 2006. I do not give "WP" or "WF"
grades to students requesting a drop after the deadline.
For clarification of these and other instructor policies please refer to
the policies link.