CISC 3115 Introduction To Modern Programming Techniques 
 
 Basic Information and Requirements 
 
-  Instructor:  Prof. Neng-Fa Zhou
-  Class hours: MW 02:15-03:55PM  1141 IH
-  Office hours:  1:05-2:05 Monday (room Ingersoll 1161) 
 Textbook 
 Course description 
A second course in programming. Programming techniques emphasizing reliability, maintainability, and reusability. Multi-file programs. Abstract data types. Objects, classes, and object-oriented design. Test suites, test drivers, and testing strategies; debugging, assertions, and an introduction to formal techniques. Recursion, event-driven programming and threads, and GUI programming
Homework assignments
There will be one homework assignment each week. Unless otherwise announced, assignments are due one week after they are given. Please submit your homework by email to nzhou (AT) brooklyn.cuny.edu, with your name, student ID, and assignment number in the subject line. Include both your written solutions and code in the body of the email.
Sample solutions to programming problems will be provided, and selected questions will be reviewed in class. A one-point penalty will be applied for each missing or late submission, with total deductions capped at 10 points.
Exams and Grading
There will two tests, one midterm exam,  and one accumulative final exam. Each of the tests accounts for 15%, the midterm accounts for 30%, and the final accounts for 40%. 
 Resources 
 Course Outline
  -  Review of Java basics (data types, operators, statements, arrays, and static methods)
	
  
-  Multidimensional Arrays
	
  
-  Recursion
	
  
-  Test-1 (10/08, Wednesday)
	
  
-  Classes and objects
	
	
-  Object-oriented design
	
-  Midterm exam (11/5, Wednesday) 
	
-  Inheritance and polymorphism
			
-  Exception handling and text I/O
  
-  Abstract classes and interfaces
  		
  
-  GUI programming with JavaFX
  		
-  Final exam