Introduction to Java NYU CS9053 Section I2

Introduction to Java NYU CS9053 Section I2

Fall 2023

Wednesdays 6:00 PM – 8:30 PM
Location: Jacobs Room 474

Instructor

Dr. Constantine (Dean) Christakos

Phone

(617) 470-5731

Email

[email protected]

Office Hours

Mondays 6pm at https://nyu.zoom.us/j/3882486878

 

Course Overview

Java is among the most widely used languages for the programming of large scale software applications as well as on small devices such as cell phones. The objective of this course is to give students a thorough and practical understanding of Core Java concepts including features introduced in Java 8. Apart from teaching the general syntax, this course is geared towards enabling students to understand and implement object oriented programming concepts using Java programming language.

There are 14 units in the class. There are 11 lectures on set Java tropics plus 3 additional lectures. I will take suggestions from other students about their interests and what other topics to cover. Past semesters have covered Maven, unit testing, REST APIs, and the Java 8 Stream Framework.

Grade Breakdown:

Problem Sets: 40%

Midterm: 30%

Final Project: 30%

 

The Final Project will be a project of the student’s choosing. They may work in groups of 2-3, but the project must be more substantial. A proposal will be required for the final project which will be reviewed by the teaching staff for approval.

Recommended Texts

There are various worthwhile texts I will be using as source material. The focus of this class will be Java 8. I recommend the following texts:

Introduction to Java, 12th Edition, Y. Daniel Young, Pearson

Core Java, Volume I, 11th Edition, Cay S. Horstmann, Pearson (this covers Java 9, 10, and 11, but this will be fine or you can use a previous edition)

Java SE8 for Programmers, 3rd Edition, Paul Deitel & Harvey Deitel, Deitel Developer Series

These aren’t strictly necessary, as there is also plenty of material online you can study. However, I will be referring to specific chapters in these books.

In the syllabus, readings will refer to Horstmann unless otherwise specified.

Class Requirements

Ÿ Java Development Kit (Java 8.0 or Later)

Ÿ An IDE such as Eclipse (Preferred) or NetBeans, etc. or a suitable text editor

 

Week

Subject

Reading

September 6th

History, Importance, Introduction, Basics, JVM, JRE

Chapter 1-2

September 13th

Procedural Programming, Data Types, Control Statements, Arrays

Chapter 3

September 20th 

Strings, Objects, & Methods

Chapter 3.6 & 4

September 27th

Inheritance

Chapter 5

October 4th

IO and Exceptions

Deitel & Deitel, Chapters 7.5, 11, & 15

Liang, Chapter 12 (12th edition)

October 11th

Abstracts, Interfaces, Generics, Functional Java, Lambdas

Chapter 6.1, Chapter 6.2, Chapter 8

October 18th

GUI/Event Handlings

Deitel & Deitel Chapter 12

October 25th

Collections

Chapter 9 & 5.2

November 1st

Concurrency / Multithreading

Chapter 14

November 8th

Networking

Horstmann Volume II, Chapter 4

Liang, Chapter 33

November 15th

Databases/JDBC

Deitel & Deitel, Chapter 21

November 22nd

THANKSGIVING BREAK. NO CLASS.

November 29th

TBD

 

December 6th

TBD

 

December 13th

TBD

 

Week

Subject

October 11th

Midterm, Due October 18th

 Homeworks are due roughly 1 week after the assignments are released. If a homework is not turned in by the due date, it will receive 10% off for each day it is late. However, if you require an extension, please contact me or the TAs, and we can make special arrangements.

Final Project

There will be a final project assigned towards the end of the semester which will be due during finals week. The final project will be a project of the student’s own proposed design. In previous semesters this has involved games, client/server applications, and web applications, among many others. There will be more details later in the semester, which will involve a proposal followed by your submitted implementation.

Academic Honesty

Academic honesty is a serious issue. Students are encouraged to collaborate with classmates to discuss how to solve problems and to look up and search online for solutions or means of implementation of code they’re attempting to write. However, all students must write their OWN code, not use a classmate’s code nor copy online code.

Instances of academic dishonesty (for example, plagiarism from classmates, previous years, or online sites) will result in a 0 for the assignment, exam, or project and a report to academic affairs.

发表评论

电子邮件地址不会被公开。 必填项已用*标注