| |
| Meets:
T-H in Baldwin 649 from 11:00AM to 12:15PM. |
| |
| Instructor:
John Franco |
| |
| |
Office: |
|
821 Rhodes (Office Hours: W-F 11:00AM-12:00PM) |
|
Phone: |
|
556-1817 |
|
Email: |
|
franco@gauss.ececs.uc.edu |
|
(among other things for an account on helios) |
|
Web: |
|
http://gauss.ececs.uc.edu/Courses/C694.html (for the course page)) |
| |
|
TA: |
|
Weiya Yue |
|
Office: |
|
805C Rhodes (Office Hours: X-X XX:XX-XX:XXPM) |
|
Email: |
|
yuewa@email.uc.edu |
| |
|
|
Description: |
|
| |
Treats sophisticated ways to use advanced programming constructs which
are now or are beginning to be commonplace in modern general purpose
programming languages. For example, we consider the advanced use of
exceptions, threads, reflection, streams, sockets, remote method
invocation, virtual functions, among other concepts. In addition,
modern security features including provisions for public-key
crytosystems and class encoding will be discussed. All the examples we
use will be coded using Java. Hence, learning Java will be part of
the course. |
|
| | |
|
Prerequisites: |
|
| |
The usual programming courses that a senior will have taken including
20-CS-403 and 20-EECE-429. The student is expected to know what Object
Oriented Programming is and is expected to have significant programming
experience in OOP, especially using C++. |
|
| | |
|
Grading (approx): |
|
| |
Distribution of credit: Midterm exam - 30%; Project - 70%. Grades are
assigned on an informal "curve". If you fail the project you fail the
course. The project will be assigned by the middle of February and will
be due on the last day of the final exam week of this quarter. A
preliminary version of the project appears now on the official course
web page. Watch for updates, though. |
|
| | |
|
Textbook - Niemeyer preferred: |
|
| |
Learning Java
by Patrick Niemeyer and Jonathan Knudsen, O'Reilly, 3rd Ed., ISBN:
0-59600-873-2 (2005)
Available online:
here
Java How to Program, 6th Edition
by Paul Deitel and Harvey Deitel, Prentice-Hall, ISBN: 0-13148-398-9 (2004)
|
|
| | |
|
Accounts: |
|
| |
You will have the opportunity to get an account on my machine so you will
have access to cgi-bin for some Common Gateway Interface programming in Java
and a late version of Java (1.5.0). To get an account, show up in my office
and ask for one (it is probably best to specify a desired account name which
matches that of a machine you have access to since you will use ssh to
login). You will also have your normal university accounts. However, note
that unless you do something to protect it, all students and most faculty
have access to your department account.
The name of the machine holding the account is helios.ececs.uc.edu.
|
|
| | |
|
Homework Policy: |
|
| |
Four homeworks will be assigned this quarter. Solutions were provided
but now that we have a grader why don't we let him take a look at what you
do and return comments. So, give the problems a try and, if you need to,
see me or the grader for help. Please remember, you are professionals,
the homeworks are intended to excercise your mind, not to punish. So, for
your benefit, I would suggest doing them. |
|
| | |
|
Schedule: (approximate, SUBJECT TO CHANGE - Do-At-Home-Exam in 7th week) |
|
| Week | Class Material | Reading (Niemeyer, 3rd ed.) | |
| 1 | Basic Introduction to Java Applications | Chapters 2, 3 |
| 2 | Exceptions, Arrays, Packages, Variable Visibility | Chapters 4, 5 |
| 3 | Multiple Inheritance, Interface, Threads | Chapters 5, 6, 9 |
| 4 | Threads, Abstract Windowing Toolkit | Chapters 9, 16, 17 |
| 5 | AWT, Reflection | Chapters 7, 9, 18, 19 + other sources |
| 6 | Utilities, Input/Output Streams | Chapters 11, 12 |
| 7 | Out of Town - Do At Home Exam | Your Brains |
| 8 | Network Programming | Chapters 14, 15 |
| 9 | Network Security, Data Base (JDBC) | other sources |
| 10 | Data Base (JDBC), Review | other sources |
|