![]() | Java Programming | |||
CISC 3400 | ||||
Professor: | Sam Sultan [sam.sultan@fordham.edu] | |||
TA: | Amanda Martin
[amartin95@fordham.edu]
Office hours: Tuesday 3:30-4:30pm, via Zoom, make an appointment first | |||
Class website: | [storm.cis.fordham.edu/~sultan/java] (or) [fh.samsultan.com/java] | |||
Course Days: | Wednesdays, 1/17-5/1 (No class 3/27, Final exam 5/8 4:00pm) | |||
Course Hours: | 2:30pm-5:15pm | |||
Location: | RH - John Mulcahy Hall - room 330 |
Announcement(s): |
+
outline
+ syllabus |
+
textbooks
+ grades policy |
+
examples & demos
+ storm DB demos |
+
attendance Sheet
+ student listing |
+
student evaluation
+ student feedback |
This course teaches the students the Java Programming Language. This is course covers Java from begining to advanced topics. The course will introduce the student to the Java programming language and to Java object oriented programming concepts and techniques. Students will learn the fundamentals of object oriented design including object creation including static and instance variables, constructors and methods. Object encapsultion, super and subclassing, inheritance, abstraction, polymorphism, interfaces, and Collection classes. The course will present coverage of Java files and streams, utility classes and other more advanced topics.
The purpose of this course is to learn Java programming and Object Oriented concepts and methodologies. Students will receive a solid understanding of the Java language syntax and semantics including Java program structure, data types, program control flow, defining classes and instantiating objects, information hiding and encapsulations, inheritance, exception handling, input/output files and data streams, memory management, collection classes and other Java topics.
Required Books -
Your final grade will be based on the following:
Details of Assignment and Evaluation.
Please do not negotiate for a better grade. Instructor will compute grades to 2 decimal places. If you are expecting to receive a grade of an "A" at the end of the semester, then I expect you to attend all sessions, to participate in class, to turn in your homeworks on time, and to keep up with the class reading material. If you see yourself falling behind do not hesitate to ask for help. This will ensure that you stay current with the class, and will ensure that you get a good grade on your work.
Please Note: Professor will not entertain any request for assignment "redo" or extra credit assignment to improve grade
Fordham University is a high level academic institution that takes academic integrity very seriously.
Students must present their own original work.
Students suspected of violating this policy including cheating and/or plagiarism and/or copying from others or published materials on assignments or exams will be severely penalized for their action.
DATE | SESSION | TOPIC[s] COVERED |
  | ||
[Week 1] | 1 |
The History of Java The Java Environment 2 Steps - Compiler then Interpreter The JVM virtual Machine Downloading and Installing the JDK What is Path and Classpath Compiling a Java Program Running a Java Program The Java Language Keywords Object Oriented Concepts Objects and Classes |
---|---|---|
Reading: | Chapters 1 and 2 | |
  | ||
[Week 2] | 2
Introduction to Programming and Computer Science | What is a Programming Language Common/popular current languages Computer languages throughout the years Bits and Bytes Decimal, Binary, Octal, Hexadecimal The ASCII character set, Unicode character set Compiled vs. Interpreted Languages Programming Constructs & Fundamentals Software Development as Layers concept Example of code in various computer languages |
Reading: | Online Reading and Professor Notes | |
  | ||
[Week 3] | 3 |
Declaring Variables Java Primitive Data Types Variable Assignment Casting to another Data Type Automatic Data Type Promotion Mathematical Operators Operator Precedence Comments and Documentation |
Reading: | Chapter 3 (pages 39-54) | |
  | ||
[Week 4] | 4 |
Logic and Program Control Making Decisions The if statement, and the switch statement Loops and Iterations The for and while statements Boolean Expressions Logical Operators Conditional Operators Variable Scope Creating and Using Methods |
Reading: | Chapter 5 | |
  | ||
[Week 5] | 5 |
The String class Creating a String Object Mutable vs. Immutable String and Substring Functions Comparing Strings for equality and inequality The StringBuffer class |
Reading: | Chapter 17 | |
  | ||
[Week 6] | 6 |
Java Arrays Declaring Arrays Array of Arrays (Multi-dimensional Arrays) Iterating through arrays Sorting arrays Introduction to Java ArrayList |
Reading: | Chapter 3 (pages 55-65) | |
  | ||
[Week 7-9] | 7-9 |
Object Oriented Concepts Defining Classes Defining Variables and Methods in a Class Instantiating Objects Defining Constructors Method Overloading Packages Access Control to Class Members Abstraction and Encapsulation |
Reading: | Chapters 6 and 7 | |
  | ||
[Week 8] | 8 |
- Midterm Exam - |
  | ||
[Week 10] | 10 |
Class Inheritance Abstract Classes Extending Classes What is a Superclass, what is a Subclass The Universal Superclass The toString( ) Method Determining the type of an Object Inheritance and Polymorphism |
Reading: | Chapters 8 and 9 | |
  | ||
[Week 11] | 11a |
What are Exceptions Type of Exceptions Handling Exceptions The try/catch Block Define and Throw your own Exception |
Reading: | Chapter 10 | |
  | ||
[Week 11] | 11b |
Input and Output Streams Using Readers, using Writers Working with the File Object Testing for Files and Directories File Input and Output Dealing with Buffers Reading from Files, writing to Files |
Reading: | Chapters 13 (pages 315-329), and chapter 21 | |
  | ||
[Week 12] | 12 |
Using Databases with Java The SQL Language Reading data from databases Inserting, Updating and Deleting Data Creating database tables and indexes Connecting Java to a database using JDBC Working with a ResultSet |
Reading: | Online Reading and Professor Notes | |
  | ||
[Week 13] | 13 |
Collection Classes Differences between Arrays & Collection classes Types of Data Structures Java <Generics> Lists: ArrayList, Vector, LinkedList Stacks and Queues Sets: HashSet, TreeSet Maps (key/value pairs): HashMap, TreeMap Iterators |
Reading: | Chapters 14 and 19 | |
  | ||
[Extra] | x1 |
Utility Classes The Date Class The Calendar Class The GregorianCalendar Class The Format Class The DateFormat Class The SimpleDateFormat Class The NumberFormat Class The DecimalFormat Class The Random Class Regex - Regular Expression The System Class and Environment variables Creating enumerations with "enum" |
Reading: | Online Reading and Professor Notes | |
  | ||
[Extra] | x2 |
Java Servlets, JSP and Web Services Dynamic web output Tomcat and other JSP/Servlet Containers Java Server Pages The HTTP protocol Java Request/Response Objects The GET and POST methods Java Web Services Client Side Request Server Side Response |
Reading: | Chapter 35 | |
  | ||
[Extra] | x3 |
Understanding Java Threads Multi-Threading vs. Multi-Processing Lifecycle and States of a Java Thread The Thread Class & the Runnable Interface Creating Threads User vs. Daemon Threads Interrupting/Terminating Threads Making Threads Safe with Synchronization Communicating Between Threads Preventing Threads Deadlocks |
Reading: | Chapter 11 | |
  | ||
[Extra] | x4 |
What is Networking? The Internet IP Address Domain Name Server (DNS) Port Numbers - standard, non-standard Network Sockets The Java socket Classes The InetAddress Class TCP/IP Communication Protocol The ServerSocket Class and Socket Class UDP/IP Communication Protocol The DatagramPacket Class and DatagramSocket Class Building Client/Server Applications |
Reading: | Chapter 23 | |
  | ||
[Week 15] | F |
- Final Exam - |