Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Interfaces to common data structures provided in the Java standard API
There are some people who believe that Data Structures and Algorithms should be taught as abstractly as possible, using language-independent “pseudo-code” exclusively.
I strongly believe that the end result of this abstract approach is programmers who waste their time reinventing the wheel and who don’t know how to do anything well in any programming language.
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Interfaces to common data structures provided in the Java standard API
There are some people who believe that Data Structures and Algorithms should be taught as abstractly as possible, using language-independent “pseudo-code” exclusively.
I strongly believe that the end result of this abstract approach is programmers who waste their time reinventing the wheel and who don’t know how to do anything well in any programming language.
Predicting program performance
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Interfaces to common data structures provided in the Java standard API
There are some people who believe that Data Structures and Algorithms should be taught as abstractly as possible, using language-independent “pseudo-code” exclusively.
I strongly believe that the end result of this abstract approach is programmers who waste their time reinventing the wheel and who don’t know how to do anything well in any programming language.
Predicting program performance
Analysis of algorithms (“big-O”)
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Interfaces to common data structures provided in the Java standard API
There are some people who believe that Data Structures and Algorithms should be taught as abstractly as possible, using language-independent “pseudo-code” exclusively.
I strongly believe that the end result of this abstract approach is programmers who waste their time reinventing the wheel and who don’t know how to do anything well in any programming language.
Predicting program performance
Analysis of algorithms (“big-O”)
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Interfaces to common data structures provided in the Java standard API
There are some people who believe that Data Structures and Algorithms should be taught as abstractly as possible, using language-independent “pseudo-code” exclusively.
I strongly believe that the end result of this abstract approach is programmers who waste their time reinventing the wheel and who don’t know how to do anything well in any programming language.
Predicting program performance
Analysis of algorithms (“big-O”)
Algorithm design techniques
Starting Summer 2024, we will be using an “open resources” textbook developed by faculty from Virginia Tech & elsewhere, with support from the National Science Foundation.
OpenDSA Data Structures and Algorithms, Copyright 2011-2023 by OpenDSA Project Contributors
We will also make use of
The Java Tutorials, Copyright 1995-2022, Oracle and/or its affiliates.
Course Themes
Common data structures and algorithms
How do they do that in Java?
Interfaces to common data structures provided in the Java standard API
There are some people who believe that Data Structures and Algorithms should be taught as abstractly as possible, using language-independent “pseudo-code” exclusively.
I strongly believe that the end result of this abstract approach is programmers who waste their time reinventing the wheel and who don’t know how to do anything well in any programming language.
Predicting program performance
Analysis of algorithms (“big-O”)
Algorithm design techniques
Desigining own algorithms
(considering some common patterns or styles)
Start at the Canvas site
Most of the content is on the main website
The Outline Page
The Outline page is the “heart” of the course
Lecture notes
Assigned readings from the text book
Labs
Assignments
The Policies page
The Policies page
The Policies page
You have options for how to ask questions: office hours, email.
The Policies page
You have options for how to ask questions: office hours, email.
I also try to keep an eye on the CS361 Discord.
The Policies page
You have options for how to ask questions: office hours, email.
I also try to keep an eye on the CS361 Discord.
Office hours will be conducted by network conferencing (Zoom).
email to instructor
Do not use the Canvas messaging system.
Labs: | 10% |
Assignments & Quizzes: | 50% |
Midterm Exam: | 15% |
Final Exam: | 25% |
Assignments & quizzes in each part are due on the date shown in the outline, at 11:59:59PM EDT.
Readings, self-assessments, & other activities, if not given an explicit due date, should be completed by the ending date given for that entire module.
Assignments will be distributed and submitted via GitHub
I place a lot of emphasis on testing in these assignments.
My tests are designed to be self-checking
They tell you whether your code is passing or failing the tests
System testing refers to the testing of the entire program.
This is what you are most used to — running the entire program to see if it works.
Assignments will be distributed and submitted via GitHub
I will provide some of these.
Unit testing refers to testing the modules that you are working on, in isolation from the rest if the code.
Pace Yourself
There’s a lot of material in this course.
Plan to finish the readings and ask any questions you have about them in the first half of the time allotted to a module.
Work on the assignments in the 2nd half. Not just the last day!
There’s not time to waste by staying stuck on one assignment.
Go to the Policies page.
Then head off to the Outline Page