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