/c2c2017

Course material and references for Campus To Corporate course, 2017.

Primary LanguageJavaOtherNOASSERTION

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 ⭐ :)

Resources

  1. Space-Time Complexity Cheatsheet
  2. Interactive Data Structure and Algorithm Visualizations
  3. A Comparative Visualization of Sorting Algorithms
  4. Another Visualization of Various Algorithms
  5. CS50 - The Quintessential Harvard Course
  6. Google - Coding Interview Example
  7. Google - Preparing for a Technical Interview

Other Interesting GitHub Repos

  1. https://github.com/sdmg15/Best-websites-a-programmer-should-visit (Especially the "Interview Preparation" and "General Coding advice" sections)
  2. https://github.com/kdn251/interviews
  3. https://github.com/alex/what-happens-when
  4. https://github.com/jwasham/coding-interview-university

Some Geeky Fun

  1. Ineffective Sorts
  2. Some More Sorts
  3. Floating Point Woes
  4. Trees and Heaps
  5. Little Bobby Tables
  6. Python Rocks
  7. Don't Use Gotos
  8. Real Life Applications of Subset Sum
  9. Peer Reviews
  10. Parent-Child Bonding

Motivation

  1. What Most Schools Don't Teach
  2. Code - The New Literacy

Index

Session 1
  1. Session 1
    1. Intro to Java
      1. What is Java
      2. Flavors of Java
      3. Compilation of a Java file
      4. Naming Conventions
      5. Hello, World
      6. Primitive Data Types
    2. Some Real Coding
      1. Conditionals
      2. Conditionals practice
      3. Loops
      4. Loop practice
    3. Assignments
      1. HackerRank
      2. Miscellaneous
Session 2
  1. Session 2
    1. Revision
    2. Arrays
      1. Declaration, Intialization and Use
      2. Iteration
      3. Array Practice
    3. Functions
      1. Basic Syntax
      2. Recursion
    4. Memoization
    5. VarArgs
    6. 2D Arrays
    7. Assignments
      1. HackerRank
      2. Miscellaneous
    8. Test
Session 3
  1. Session 3
    1. Function Overloading
    2. Classes
      1. Constructors
      2. Instance Variables
      3. Instance Methods
      4. Static Methods and Instances
      5. Practice
      6. The final modifier
    3. The String class
    4. Assignments
      1. HackerRank
      2. Miscellaneous
    5. Test
Session 4
  1. Session 4
    1. Revision
    2. Initializer Blocks
      1. Instance Initializer Block
      2. Static Initializer Block
    3. Call Stack
    4. Object Heap
    5. Some Traps and Pitfalls
    6. Recursion And Memoization Practice
    7. BufferedReader - The Faster Way Of Accepting Input
    8. Sorting - A High Level Perspective
    9. Assignments
      1. HackerRank
      2. Miscellaneous
    10. Test
Session 5
  1. Session 5
    1. Call By Value / Call By Copy Of Reference
    2. The this keyword
    3. Inheritance
      1. Inheritance Models
      2. Access Modifiers
      3. The extends keyword
      4. The Point Example
    4. Overriding
    5. Abstract Data Structures - an Overview
    6. Assignments
      1. HackerRank
      2. Miscellaneous
    7. Test
Session 6
  1. Session 6
    1. RapidFire Revision
    2. The final modifier (again)
    3. The this keyword (again)
    4. The super keyword (again)
    5. Abstract Classes
    6. Interfaces
    7. Dynamic Method Dispatch
    8. Order of Instance Variable Initialization
    9. Assignments
      1. HackerRank
      2. Miscellaneous
Session 7
  1. Session 7
    1. Linked Lists
    2. Sorting
    3. Assignments
      1. HackerRank
      2. Miscellaneous
Session 8
  1. Session 8
    1. The Collections Framework - Part I
      1. The Collection Hierarchy
      2. Lists, Queues and Sets
      3. Problems
    2. Trees
      1. Binary Trees
      2. Binary Search Trees
    3. Assignments
      1. HackerRank
      2. Miscellaneous
Session 9
  1. Session 9
    1. The Object Class, equals and hashCode
    2. The Collections Framework - Part II
      1. Maps!
      2. Problems
    3. Graphs
      1. Applications
      2. Classification
      3. Representation
      4. Terminology
      5. Traversals and Algorithms
      6. Problems
      7. An Extensive List of Graph Topics
    4. Assignments
      1. HackerRank
      2. Miscellaneous
Session 10
  1. Session 10
    1. Exception Handling
      1. The Exception Hierarchy
      2. Checked and Unchecked Exceptions
      3. throw and throws
      4. try-catch-finally
      5. Variants of try-catch-finally
      6. Call Stack propagation
      7. Some "Exceptional" Cases
    2. Garbage Collection
      1. The Garbage Collector
      2. The finalize method
    3. Assignments
      1. HackerRank
      2. Miscellaneous
Session 11
  1. Session 11
    1. Data Structures and Algorithms
      1. Heaps
      2. Self Balancing Trees
    2. Java
      1. Enums
      2. Packages
      3. Immutable Classes
      4. Multi-Threading
      5. Nested Classes