Username
Password
Forgot your password?
Username:
Password
Confirm Password
Email:
MHC F25 COMSC 205: Data Structures
Table Of Contents
Contents
::
0.
1.
Course Resources
»
Lecture 0
Welcome!
¶
0.1. Course Resources
Lecture 1
Intro to Java I: Data Types and Hello World!
¶
1.1. Introduction
1.2. Why Learn another programming Language?
1.2.1. Why Learn Java? Why not C or C++?
1.3. Let’s look at a Java Program
1.3.1. Compiling and Running
1.3.2. Java Keywords
1.4. Java Data Types
1.4.1. Primitives
1.4.2. Declaring Variables
1.4.3. String
Lecture 2
Intro to Java II: File I/O, Loops, and Conditionals
¶
2.1. Java Data Structures and File I/O
2.1.1. Imports
2.1.2. Input / Output / Scanner
2.1.3. List
2.1.4. Exception Handling with try/catch
2.1.5. Arrays
2.1.6. Dictionary
2.2. Conditionals
2.2.1. Simple if
2.2.2. if else
2.2.3. elif
2.2.4. switch
2.2.5. Boolean Operators
2.3. Loops and Iteration
2.3.1. Definite Loop
2.3.2. Indefinite Loops
Lecture 3
Intro to Java III: Classes
¶
3.1. Defining Classes in Java
3.1.1. Writing a constructor
3.1.2. Methods
3.1.3. Inheritance
3.1.4. Interfaces
3.1.5. Static member variables
3.1.6. Static Methods
3.1.7. Full Implementation of the Fraction Class
3.2. Additional Java Information
3.2.1. Naming Conventions
3.2.2. Common Mistakes
3.2.3. Java Documentation
3.3. Variable Scoping
3.3.1. Variable Scoping
3.3.2. Summarizing Scope Concepts
3.3.3. Check Your Understanding: Scope
3.3.4. Syntax Practice: Scoping
Lecture 4
Object Oriented Programming I: Inheritance
¶
4.1. Introduction to Inheritance
4.1.1. Class Hierarchy and Inheritance
4.1.2. java.lang.Object toString()
4.1.3. Motivating Inheritance and Polymorphism
4.2. Java’s Inheritance Mechanism
4.2.1. Using an Inherited Method
4.2.2. Overriding an Inherited Method
4.2.3. Static Binding, Dynamic Binding and Polymorphism
4.2.4. Using the super Keyword to Refer to the Superclass
4.2.5. Inheritance and Constructors
Lecture 5
Object Oriented Programming II: Abstract Classes
¶
5.1. Abstract Classes, Interfaces, and Polymorphism
5.1.1. Implementing an Abstract Method
5.1.2. Implementing a Java Interface
5.1.3. Interfaces or Abstract Classes
Lecture 6
Algorithm Analysis
¶
6.1. Motivating Studying Data Structures
6.1.1. Introduction
6.1.2. A Philosophy of Data Structures
6.1.3. Selecting a Data Structure
6.1.4. Real-World Example
6.2. Problems, Algorithms, and Programs
6.2.1. Introduction
6.2.2. Algorithms
6.2.3. Programs
6.2.4. Summary
6.3. Comparing Algorithms
6.3.1. Introduction
6.3.2. Basic Operations and Input Size
6.3.3. Growth Rates
6.4. Asymptotic Analysis and Upper Bounds
6.4.1. Introduction
6.4.2. Upper Bounds
6.4.3. Simplifying Rules
6.4.4. Check Your Understanding: Asymptotic Analysis
Lecture 7
The List Interface and Generics
¶
7.1. Java Generics
7.1.1. Primitives vs Object Wrappers
7.1.2. Java Generics
7.2. The List Interface
7.2.1. Introduction
7.2.2. Defining the Interface
7.2.3. Using a List
Lecture 8
ArrayLists
¶
8.1. ArrayList Implementation
8.1.1. Full Implementation
8.1.2. How ArrayLists internally represent data
8.1.3. Instance variables and constructors
8.1.4. Adding elements to a given position: add(int index, E o)
8.1.5. Adding elements to end of list: add(E o)
8.1.6. Removing elements at a given position: remove(int position)
Lecture 9
Linked Lists I
¶
9.1. References in Java
9.1.1. Pointers and References
9.1.2. Data Types in Java
9.1.3. Referencing and Dereferencing
9.1.4. The Employee Class
9.1.5. Reference Assignments
9.1.6. Sharing
9.1.7. Shallow and Deep Comparing: .equals() vs ==
9.1.8. Bad References
9.2. Linked Lists
9.2.1. Nodes
9.2.2. Linked List Partial Implementation
9.2.3. Linked List Instance Variables
9.2.4. addFirst() and addAfter()
9.2.5. Linked List Traversal and getNode()
9.2.6. Linked List add(int position, E element)
License
Contents
::
0.
1.
Course Resources
»
Summary*:
Operating system*:
Windows
Mac OS
Linux
iOS
Android
Other
Browser*:
Chrome
Safari
Internet Explorer
Opera
Other
Description*:
Attach a screenshot (optional):