This course site was developed with the generous support of the Brooklyn College Open Educational Resources/Zero Textbook Cost (OER/ZTC) Initiative.
Unless otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
This course website contains copyrighted materials available only for your personal, noncommercial educational and scholarly use. This site is used in accordance with the fair use provision, Section 107 of the U.S. Copyright Act where allowance is made for “fair use” for purposes such as criticism, comment, news reporting, teaching, scholarship, education and research. Every effort has been made to provide attribution of copyrighted content. If you wish to use any copyrighted material from this site for purposes of your own that go beyond “fair use”, you must obtain expressed permission from the copyright owner. If you are the owner of any copyrighted material that appears on this site and believe the use of any such material does not constitute “fair use”, please contact Moshe Lach to have the content removed, if proven necessary.
This open educational resource was created as part of the CUNY and SUNY 2017-2024 Open Educational Resources Initiatives. Governor Andrew Cuomo and the NY State Legislature awarded CUNY and SUNY $16 million to implement open educational resources to develop, enhance and institutionalize new and ongoing open educational resources across both universities.
Special thanks to the CUNY Office of Academic Affairs, the CUNY Office of Library Services, Brooklyn College Administration, and Professors Frans Albarillo and Miriam Deutch, Coordinators, Brooklyn College Open Educational Resources Initiative. Site design and formatting by Moshe Lach.
Topic | Meetings | Links | Homework |
---|---|---|---|
Unit 1: Java Prerequisites and ADTs |
|||
Some prerequisites
|
|
|
|
ADTs | HW 3 (on CodeLab) | ||
Generics
|
|
||
The Java Collections Framework
|
|
||
Unit 2: Algorithms |
|||
Recursion |
|
||
Searching and sorting |
|
||
Algorithmic complexity |
|
||
Unit 3: Data Structures |
|||
Dynamic array-based lists |
|
|
|
Exam 1 (meeting 14) |
|
||
Linked lists |
|
|
|
Stacks, queues, and deques |
|
|
|
Hash tables |
|
|
|
Trees |
|
HW 8u (ungraded) | |
Exam 2 (meeting 24) |
|
||
BSTs and sorted sets and maps |
|
||
Heaps |
|
||
Unit 4: Functional-style Programming |
|||
Lambda expressions
|
|
||
Streams |
|
||
Final exam |
|