Course syllabus - Fordham University Computer and Information

advertisement
FORDHAM UNIVERSITY / FORDHAM COLLEGE AT LINCOLN CENTER
DEPARTMENT OF COMPUTER AND INFORMATION SCIENCES
SYLLABUS
Semester: Spring Semester, 2016
Course Number: CISC 4700
Course Title: Network and Client-Server Computing
Faculty: Dr. A. G. Werschulz
Office:
Rm 815D
Phone:
(212) 636-6325
E-mail:
agw@dsm.fordham.edu
WWW:
http://www.dsm.fordham.edu/˜agw/client-server
Office Hours: Mondays:
10:00 a.m.–11:00 a.m. and 3:00 p.m.–4:00p.m.
Wednesdays: 10:00 a.m.–11:00 a.m.
(or by appointment)
Class Meetings: Monday and Wednesday, 11:30 a.m.–12:45 p.m., LL902.
Texts:
Cowell, Essential Java 2 Fast, Springer, 1999.
Harold, Java Network Programming (Fourth Edition), O’Reilly, 2013.
Class Email List: client-server@dsm.fordham.edu
Course Outline (Topical):
Introductory Concepts (both texts)
Java Programming (Cowell)
The Java Language
Java Control Structures
Classes and Objects
Inheritance and Polymorphism
Exceptions
Java Network Programming (Harold)
Basic Network Concepts
Streams
Threads
Internet Addresses
urls and uris
http
URLConnections
Sockets for Clients
Sockets for Servers
Secure Sockets (maybe)
Non-Blocking I/O (maybe)
udp Datagrams and Sockets (maybe)
Multicast Sockets (maybe)
Protocol:
Examinations: There will be one midterm exam, which will be on Monday, February 29, at the usual class time.
In lieu of a final exam, there will be a final project. This final project will be due at the time scheduled for the final
exam, which will be announced as soon as it becomes known.
Homeworks: These will be smaller programming assignments (not at the scale of the final project). It is projected
that there will be one program for each nontrivial chapter in the Cowell and Harold texts, assigned from the text.
Grading:
homeworks
40%
midterm exam
25%
final project
25%
participation
10%
Programs will be graded according to the following standards:
correctness
60%
interface
20%
programming style 20%
Other Requirements: None.
Readings: We intend to cover the following material:
Cowell: Chapters 1–5, 8, 14.
Harold: Chapters 1–9. Time permitting, we’ll cover as many of the additional chapters as we can.
Electronica: You may not use laptop computers, tablets, or mobile phones during the class period.
Academic Integrity: To begin with, you should familiarize yourself with the University’s policy on Academic
Integrity, which may be found at
http://www.fordham.edu/info/24933/undergraduate academic integrity policy
Pay special attention to the Standards of Academic Integrity. As a corollary to same, you are not to pass off someone
else’s solution to any homework exercise (including programming problems) as your own, regardless of whether you
obtained it from a fellow student, an acquaintance, or from the Web.
You will sometimes find yourself stumped by some phase of an assignment. When this happens, you have several
options, such as asking a question in class, sending me email, or discussing the problem with me in my office. It would
be unrealistic of me to not expect a certain amount of discussion of programming assignments. However, the program
you turn in is to be your own work. You are not allowed to share source code with each other (and this includes looking
at another student’s screen in the lab). If you are in doubt as to the legitimacy of your actions, ask me beforehand.
(Programming is not a spectator sport!!)
Additional Remarks:
This class consists of two segments. In the first segment, we will be learning about the Java programming
language. (The class website has a link to various Java resources on the web, which you may find to be of use.) During
the second phase of the course, we will be learning about Internet programming with Java. The main goal of this phase
will be for you to learn how to write both free-standing Internet applications. This will include both clients and servers.
If you peruse the contents of the texts, you’ll notice that we are not intending to cover Java graphics. This is
because we probably won’t have time to do justice to this important topic, and still be able to cover the main topics of
this course. This means that we will be unable to cover Java applets in this course, since they tend to be graphically
based.
There will be no make-up exams given after the exam date. If you know in advance that you will have to miss an
exam, you must check with me (in advance) to avoid getting a zero for that exam. In case of illness on an exam date,
please contact me as soon as possible, so that appropriate arrangements can be made.
2
Download