CSC300: Data Structures I (Winter AY24/AY25)
Eric J. Fredericks

Class Links

Discord Discussion Forum

Instructor Zoom Link (Office hours or by appointment)

D2L

Synchronous class recordings

Syllabus

Supplemental Instruction (SI)

Course Code ZIP Archive

Online students

(Exam Proctoring)

Tutors

Student Services

Textbooks

Algorithms

(Author videos) (Lectures/Slides/Demos) (Coursera Part 1) (Coursera Part 2) (Princeton)

Core Java

(Online version) (Sample Chapter)
Java API/Tutorial

Java API

AP Java Class

Java Tutorials

Exceptions

Formatting Output

Formatting Numbers

Collections

IntelliJ IDEA (Use Community Edition!)

Getting Started

IntelliJ IDEA Overview

Built-In Features Trainer

Creating your first Java Application with IntelliJ IDEA (Tutorial)

Creating your first Java Application with IntelliJ IDEA (Video)

Importing a Maven Project

Debugging Tutorial

More Tutorials

Jet Brains Java Technology Guide

Lecture Materials
1.  Hello, Java! [01/09]
2.  Objects, Arrays, and Loops [01/16]
3.  More Java, Intro to Analysis [01/23]
4.  More Analysis: Binary Search, Elementary Comparison-Based Sorting [01/30]
5.  Abstract Data Types, Stacks and Queues [02/06]
6.  Midterm, Priority Queues and Heaps [02/13]
7.  Heap Sort, Linked Structures [02/20]
8.  More Linked Structures, Revisiting Stacks and Queues [02/27]
9.  Recursion [03/06]
10.  Review [03/13]
11.  Final exam [03/20]
Contact Hours
Class Hours: Thu 5:45pm-9:00pm in Lewis 1005
Office Hours: Tuesdays, 7:30pm - 8:15pm on Zoom
Thursdays, 4:50pm - 5:35pm in Lewis Center 1005
Please send me a message on Discord if you intend to join me for Office Hours.