c2c2017
                                
                                
                                
                                    c2c2017 copied to clipboard
                            
                            
                            
                        Course material and references for Campus To Corporate course, 2017.
c2c2017
Course material and references for Campus To Corporate course, 2017.

Introduction
This repo contains notes, assignments, Java source code and other course material for a interview prep course held at K.J. Somaiya College of Engineering in 2017. It is made available under a permissive MIT License, so that it may benefit other students.
If you like this repo or use it for your own interview prep, please leave it a :star: :)
Resources
- Space-Time Complexity Cheatsheet
 - Interactive Data Structure and Algorithm Visualizations
 - A Comparative Visualization of Sorting Algorithms
 - Another Visualization of Various Algorithms
 - CS50 - The Quintessential Harvard Course
 - Google - Coding Interview Example
 - Google - Preparing for a Technical Interview
 
Other Interesting GitHub Repos
- https://github.com/sdmg15/Best-websites-a-programmer-should-visit (Especially the "Interview Preparation" and "General Coding advice" sections)
 - https://github.com/kdn251/interviews
 - https://github.com/alex/what-happens-when
 - https://github.com/jwasham/coding-interview-university
 
Some Geeky Fun
- Ineffective Sorts
 - Some More Sorts
 - Floating Point Woes
 - Trees and Heaps
 - Little Bobby Tables
 - Python Rocks
 - Don't Use Gotos
 - Real Life Applications of Subset Sum
 - Peer Reviews
 - Parent-Child Bonding
 
Motivation
Index
Session 1
- Session 1
- Intro to Java
- What is Java
 - Flavors of Java
 - Compilation of a Java file
 - Naming Conventions
 - Hello, World
 - Primitive Data Types
 
 - Some Real Coding
- Conditionals
 - Conditionals practice
 - Loops
 - Loop practice
 
 - Assignments
- HackerRank
 - Miscellaneous
 
 
 - Intro to Java
 
Session 2
- Session 2
- Revision
 - Arrays
- Declaration, Intialization and Use
 - Iteration
 - Array Practice
 
 - Functions
- Basic Syntax
 - Recursion
 
 - Memoization
 - VarArgs
 - 2D Arrays
 - Assignments
- HackerRank
 - Miscellaneous
 
 - Test
 
 
Session 3
- Session 3
- Function Overloading
 - Classes
- Constructors
 - Instance Variables
 - Instance Methods
 - Static Methods and Instances
 - Practice
 - The final modifier
 
 - The String class
 - Assignments
- HackerRank
 - Miscellaneous
 
 - Test
 
 
Session 4
- Session 4
- Revision
 - Initializer Blocks
- Instance Initializer Block
 - Static Initializer Block
 
 - Call Stack
 - Object Heap
 - Some Traps and Pitfalls
 - Recursion And Memoization Practice
 - BufferedReader - The Faster Way Of Accepting Input
 - Sorting - A High Level Perspective
 - Assignments
- HackerRank
 - Miscellaneous
 
 - Test
 
 
Session 5
- Session 5
- Call By Value / Call By Copy Of Reference
 - The 
thiskeyword - Inheritance
- Inheritance Models
 - Access Modifiers
 - The 
extendskeyword - The Point Example
 
 - Overriding
 - Abstract Data Structures - an Overview
 - Assignments
- HackerRank
 - Miscellaneous
 
 - Test
 
 
Session 6
- Session 6
- RapidFire Revision
 - The 
finalmodifier (again) - The 
thiskeyword (again) - The 
superkeyword (again) - Abstract Classes
 - Interfaces
 - Dynamic Method Dispatch
 - Order of Instance Variable Initialization
 - Assignments
- HackerRank
 - Miscellaneous
 
 
 
Session 7
- Session 7
- Linked Lists
 - Sorting
 - Assignments
- HackerRank
 - Miscellaneous
 
 
 
Session 8
- Session 8
- The Collections Framework - Part I
- The Collection Hierarchy
 - Lists, Queues and Sets
 - Problems
 
 - Trees
- Binary Trees
 - Binary Search Trees
 
 - Assignments
- HackerRank
 - Miscellaneous
 
 
 - The Collections Framework - Part I
 
Session 9
- Session 9
- The Object Class, 
equalsandhashCode - The Collections Framework - Part II
- Maps!
 - Problems
 
 - Graphs
- Applications
 - Classification
 - Representation
 - Terminology
 - Traversals and Algorithms
 - Problems
 - An Extensive List of Graph Topics
 
 - Assignments
- HackerRank
 - Miscellaneous
 
 
 - The Object Class, 
 
Session 10
- Session 10
- Exception Handling
- The Exception Hierarchy
 - Checked and Unchecked Exceptions
 throwandthrows- try-catch-finally
 - Variants of try-catch-finally
 - Call Stack propagation
 - Some "Exceptional" Cases
 
 - Garbage Collection
- The Garbage Collector
 - The 
finalizemethod 
 - Assignments
- HackerRank
 - Miscellaneous
 
 
 - Exception Handling
 
Session 11
- Session 11
- Data Structures and Algorithms
- Heaps
 - Self Balancing Trees
 
 - Java
- Enums
 - Packages
 - Immutable Classes
 - Multi-Threading
 - Nested Classes
 
 
 - Data Structures and Algorithms