CISC 3115 Introduction To Modern Programming Techniques


Basic Information and Requirements

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 every week. Unless notified otherwise, the homework is due in one week after it is assigned. Please email your homework to nzhou (AT) brooklyn (DOT) cuny (DOT) edu. Please write your name, student ID, and the number of the assignment in the subject, and include your writings and codes in the body of the email. Sample answers to the programming questions will be given and selected questions will be reviewed in class. There will be a one-point deduction for each missing homework or late submitted homework. The total deduction will not exceed 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

  1. Review of Java basics (data types, operators, statements, arrays, and static methods)
  2. Recursion
  3. Classes and objects
  4. Object-oriented design
  5. Inheritance and polymorphism
  6. Exception handling and text I/O
  7. Abstract classes and interfaces
  8. GUI programming with JavaFX
  9. Final exam