CISC 3115
Spring 2023, Section EWQ6
Instructor: Moshe Lach
lach@sci.brooklyn.cuny.edu
Click here for a PDF of the full syllabus.
Please also see the Info and Schedule pages.
Basic Information
- Class meetings: Wednesdays 6:30-10:00 p.m. in 238 New Ingersoll
- Office hours:
- Wednesdays 5:00-6:00 p.m. in 128 New Ingersoll
- Thursdays 3:40-4:40 p.m. in 128 New Ingersoll
- Other times by appointment, either on campus or on Zoom.
- Tutoring hours at the Learning Center: TBA
- There is a class Discord server, which you are encouraged to join. A link has been emailed to you.
- You do not have to use your real name.
- Discord DMs are welcome.
- All course material, except for homework, will be posted at the following link, which you may want to bookmark: bit.ly/cisc3115sp23
Course Topics
- Brief prerequisite review: loops, methods, menu-driven programs, parallel arrays, array algorithms, file I/O
- Command line: basic Unix commands, command line arguments
- Objects and references: aliases, parameter passing, wrapper classes, auto-boxing and auto-unboxing, String, StringBuilder, BigInteger, BigDecimal
- Classes: instance variables and methods, constructors, encapsulation, static variables and methods, aggregation, UML diagrams, copying objects, enums
- Exam 1
- Inheritance: superclasses and subclasses, overriding methods, constructor chaining, polymorphism, dynamic binding, the Object class and its toString and equals meth- ods, abstract classes
- ArraysLists
- Exceptions: try, catch, finally, throwing exceptions, declaring exceptions, exception types (checked vs. unchecked), polymorphism and dynamic binding with exceptions, stack trace, defining custom exception types, try-with-resources
- Interfaces: Comparable, Comparator, lambda expressions
- Exam 2
- Collections: Collection, Iterable, Iterator, List, Set, Queue, Deque, Map
- Recursion: tracing recursive code, thinking recursively, mathematical functions, recur- sion involving Strings, recursion involving arrays, recursive helper methods
- If there’s extra time: JavaFX: basic components, event handling, CSS, MVC
- Final exam
Page cover image credit: Yuri Samoilov via Flickr (cc)