Problem solving training for computer science students.
This level simply consists of eight sheets, three sheets of them on Codeforces Online Judge, plus four sheets on HackerEarth Online Judge, and the last sheet on HackerRank Online Judge.
The prerequisites for level 1 of this training are the basic knowledge for any programming language like (Variable Types - Basic Operators - Conditions - Loops - Functions - Lists - Strings).
The Codeforces OJ sheets phase-1-1, phase-1-2, phase-1-3 contain A-Div2 problems, and each sheet of them divided into 5 classes of problems (Basic Operators - Conditions - Loops - Lists - Strings). These sheets were sorted based on difficulty and grouped by the type of problems as mentioned. Finally, each sheet contains ~100 problems.
Codeforces OJ sheets (3 sheets)
Agenda of phase-1-1 (100 problems) 80H
Category | Problems |
---|---|
Basic Operator | 5 problems |
Condition | 10 problems |
Loop | 20 problems |
String | 20 problems |
List | 40 problems |
Agenda of phase-1-2 (100 problems) 80H
Category | Problems |
---|---|
Basic Operator | 5 problems |
Condition | 10 problems |
Loop | 20 problems |
String | 20 problems |
List | 40 problems |
Agenda of phase-1-3 (100 problems) 80H
Category | Problems |
---|---|
Basic Operator | 5 problems |
Condition | 10 problems |
Loop | 20 problems |
String | 20 problems |
List | 40 problems |
The HackerEarth OJ sheets phase-1-1, phase-1-2, phase-1-3 contain implementation problems and basic programming problems. These sheets were sorted based on difficulty. Each sheet contains ~100 problems. For the last sheet phase-1-basic-programming that focus on the basic programming problems, It's divided into 4 classes of problems (Input/Output - Bit Manipulation - Recursion - Operators). Also, this sheet was sorted based on difficulty and grouped by the type of problems as mentioned. Finally, this sheet contains ~130 problems.
HackerEarth OJ sheets (4 sheets)
Agenda of phase-1-1 (100 problems) 80H
Category | Problems |
---|---|
Implementation | 25 problems |
Implementation | 25 problems |
Implementation | 25 problems |
Implementation | 25 problems |
Agenda of phase-1-2 (100 problems) 80H
Category | Problems |
---|---|
Implementation | 25 problems |
Implementation | 25 problems |
Implementation | 25 problems |
Implementation | 25 problems |
Agenda of phase-1-3 (100 problems) 80H
Category | Problems |
---|---|
Implementation | 25 problems |
Implementation | 25 problems |
Implementation | 25 problems |
Implementation | 25 problems |
Agenda of phase-1-basic-programming (130 problems) 100H
Category | Problems |
---|---|
Input/Output | 50 problems |
Bit Manipulation | 70 problems |
Recursion | 10 problems |
Operators | 5 problems |
The HackerRank OJ sheet phase-1-functional-programming, It's divided into 6 classes of problems (Introduction - Recursion - Functional Structures - Memoization - Ad-Hoc - Misc). Also, this sheet was sorted based on difficulty and grouped by the type of problems as mentioned. Finally, this sheet contains ~80 problems.
HackerRank OJ sheets (1 sheet)
Agenda of phase-1-functional-programming (80 problems) 80H
Category | Problems |
---|---|
Introduction | 25 problems |
Recursion | 20 problems |
Functional Structures | 10 problems |
Memoization | 10 problems |
Ad-Hoc | 15 problems |
Misc | 5 problems |
- If the student has a target to compete in the programming competitions like ACM-ICPC or Google Codejam or Google Kick-start or Facebook Hackercup, so it's recommended to start with Codeforces sheets, but if (s)he has a target to practice on a specific topic or preparing for an interview, so it's recommended to start with HackerEarth and HackerRank sheets.
- On each one of these sheets has an excel sheet to record your effort and enhance your progress, The time estimate for level problems is between 30 min to 45 min for each one, including reading time, thinking time, coding time, debugging time, and learning time.
This level simply consists of ten sheets, four sheets of them on Codeforces Online Judge, plus four sheets on HackerEarth Online Judge, and the last two sheets on HackerRank Online Judge.
The prerequisites for level 2 of this training are the basic knowledge for Data Structures and Algorithms like (Linear Data Structures - Non-Linear Data Structures - Searching Algorithms - Sorting Algorithms).
The Codeforces OJ sheets phase-2-1, phase-2-2, phase-2-3 contain B-Div2 problems, and each sheet of them divided into 5 classes of problems (Data Structure - Mathematics - String - Greedy - Brute Force). These sheets were sorted based on difficulty and grouped by the type of problems as mentioned. Finally, each sheet contains ~90 problems. For the last sheet phase-2-gym-contests that focus on gym-contests, It's divided into 3 classes of contests, that contains ~100 contests.
Codeforces OJ sheets (4 sheets)
Agenda of phase-2-1 (90 problems) 80H
Category | Problems |
---|---|
Data Structure | 15 problems |
String | 15 problems |
Mathematics | 25 problems |
Greedy | 25 problems |
Brute Force | 10 problems |
Agenda of phase-2-2 (90 problems) 80H
Category | Problems |
---|---|
Data Structure | 15 problems |
String | 15 problems |
Mathematics | 25 problems |
Greedy | 25 problems |
Brute Force | 10 problems |
Agenda of phase-2-3 (100 problems) 80H
Category | Problems |
---|---|
Data Structure | 30 problems |
String | 15 problems |
Mathematics | 30 problems |
Greedy | 25 problems |
Brute Force | 10 problems |
Agenda of phase-2-gym-contests (100 contests) 200H
Category | Problems |
---|---|
Educational Codeforces Rounds | 80 contests |
Codeforces GYM Contests 1 | 5 contests |
Codeforces GYM Contests 2 | 15 contests |
The HackerEarth OJ sheets phase-2-linear-data-structures, phase-2-non-linear-data-structures, phase-2-algorithms-searching, phase-2-algorithms-sorting, Each sheet contains linear and non-linear data structures problems, in addition to searching and sorting algorithms. These sheets were sorted based on difficulty and each sheet contains ~100 problems.
HackerEarth OJ sheets (4 sheets)
Agenda of phase-2-linear-data-structures (110 problems) 80H
Category | Problems |
---|---|
Arrays 1D | 65 problems |
Arrays Multi-dimensional | 20 problems |
Stacks | 25 problems |
Queues | 5 problems |
Agenda of phase-2-non-linear-data-structures (90 problems) 80H
Category | Problems |
---|---|
Binary Tree | 10 problems |
Binary Search Tree | 10 problems |
Heaps / Priority Queues | 20 problems |
Hash Tables | 50 problems |
Agenda of phase-2-algorithms-searching (120 problems) 80H
Category | Problems |
---|---|
Linear Search | 15 problems |
Binary Search I | 50 problems |
Binary Search II | 50 problems |
Ternary Search | 5 problems |
Agenda of phase-2-algorithms-sorting (60 problems) 40H
Category | Problems |
---|---|
Bubble & Selection & Insertion | 15 problems |
Merge | 25 problems |
Quick & Count & Heap | 25 problems |
The HackerRank OJ sheets phase-2-data-structures, phase-2-algorithms-basics, These sheets contain linear and non-linear data structures problems, and basic algorithms problems. Also, these sheets were sorted based on difficulty and grouped by the type of problems as mentioned. Finally, each sheet contains ~120 problems.
HackerRank OJ sheets (2 sheets)
Agenda of phase-2-data-structures (50 problems) 40H
Category | Problems |
---|---|
Arrays & Linked Lists | 20 problems |
Stacks & Queues | 10 problems |
Trees & Balanced Trees | 20 problems |
Agenda of phase-2-algorithms-basics (125 problems) 80H
Category | Problems |
---|---|
Warm-up | 10 problems |
Recursion | 10 problems |
Sorting | 15 problems |
Search | 25 problems |
Implementation | 65 problems |
- If the student has a target to compete in the programming competitions like ACM-ICPC or Google Codejam or Google Kick-start or Facebook Hackercup, so it's recommended to start with Codeforces sheets, but if (s)he has a target to practice on a specific topic or preparing for an interview, so it's recommended to start with HackerEarth and HackerRank sheets.
- On each one of these sheets has an excel sheet to record your effort and enhance your progress, The time estimate for level problems is between 30 min to 45 min for each one, including reading time, thinking time, coding time, debugging time, and learning time.
This level simply consists of fourteen sheets, five sheets of them on Codeforces Online Judge, plus five sheets on HackerEarth Online Judge, and the last four sheets on HackerRank Online Judge.
The prerequisites for level 3 of this training are the advanced knowledge for Data Structures and Algorithms like (Advanced Data Structures - Divide and Conquer Algorithms - Graph Algorithms - Greedy Algorithms - Dynamic Programming - Mathematical Algorithms).
- Data-Structures Repository
- Algorithms Repository
- Advanced-Data-Structures Repository
- Advanced-Algorithms Repository
The Codeforces OJ sheets phase-3-1, phase-3-2, phase-3-3, phase-3-4 contain C-Div2/A-Div1 problems, and each sheet of them divided into 7 classes of problems (Divide and Conquer - Graph - Data Structure - Mathematics - String - Greedy - Dynamic Programming). These sheets were sorted based on difficulty and grouped by the type of problems as mentioned. Finally, each sheet contains ~100 problems. For the last sheet phase-3-gym-contests that focus on gym-contests, It's divided into 5 classes of contests, that contains ~130 contests.
Codeforces OJ sheets (5 sheets)
Agenda of phase-3-1 (100 problems) 80H
Category | Problems |
---|---|
Divide and Conquer | 10 problems |
Graph | 10 problems |
String | 10 problems |
Data Structure | 20 problems |
Mathematics | 30 problems |
Greedy | 20 problems |
Agenda of phase-3-2 (100 problems) 80H
Category | Problems |
---|---|
Divide and Conquer | 10 problems |
Graph | 10 problems |
String | 10 problems |
Data Structure | 20 problems |
Mathematics | 30 problems |
Greedy | 20 problems |
Agenda of phase-3-3 (100 problems) 80H
Category | Problems |
---|---|
Graph | 10 problems |
String | 10 problems |
Data Structure | 20 problems |
Mathematics | 30 problems |
Greedy | 20 problems |
Dynamic Programming | 10 problems |
Agenda of phase-3-4 (100 problems) 80H
Category | Problems |
---|---|
Graph | 10 problems |
String | 10 problems |
Data Structure | 20 problems |
Mathematics | 30 problems |
Greedy | 20 problems |
Dynamic Programming | 10 problems |
Agenda of phase-3-gym-contests (130 contests) 400H
Category | Problems |
---|---|
Codeforces GYM Contests 3 I | 25 contests |
Codeforces GYM Contests 3 II | 15 contests |
Codeforces GYM Contests 3 III | 30 contests |
Codeforces GYM Contests 3 IV | 30 contests |
Codeforces GYM Contests 3 V | 30 contests |
The HackerEarth OJ sheets phase-3-mathematics, phase-3-greedy, phase-3-graph, phase-3-dynamic-programming, phase-3-advanced-data-structures, Each sheet contains graph, greedy, mathematics, and dynamic programming problems, in addition to advanced data structures. These sheets were sorted based on difficulty and each sheet contains ~110 problems.
HackerEarth OJ sheets (5 sheets)
Agenda of phase-3-mathematics (80 problems) 60H
Category | Problems |
---|---|
Basic Number Theory | 30 problems |
Primality Tests | 15 problems |
Totient Function | 5 problems |
Basics of Combinatorics | 20 problems |
Inclusione-Exclusion | 10 problems |
Agenda of phase-3-greedy (70 problems) 50H
Category | Problems |
---|---|
Greedy Algorithms I | 35 problems |
Greedy Algorithms II | 35 problems |
Agenda of phase-3-graph (175 problems) 160H
Category | Problems |
---|---|
Graph Representation | 25 problems |
Breadth First Search | 35 problems |
Depth First Search | 60 problems |
Shortest Path | 45 problems |
Minimum Spanning Tree | 10 problems |
Agenda of phase-3-dynamic-programming (110 problems) 80H
Category | Problems |
---|---|
Dynamic Programming | 50 problems |
Dynamic Programming 2 Dimensional | 45 problems |
Dynamic Programming and Bit Masking | 15 problems |
Agenda of phase-3-advanced-data-structures (140 problems) 90H
Category | Problems |
---|---|
Disjoint Sets | 30 problems |
Trie | 20 problems |
Segment Tree | 55 problems |
Binary Indexed Tree | 35 problems |
The HackerRank OJ sheets phase-3-mathematics, phase-3-graph-greedy, phase-3-dynamic-programming, phase-3-data-structures, These sheets contain graph, greedy, mathematics, and dynamic programming problems, in addition to data structures. Also, these sheets were sorted based on difficulty and grouped by the type of problems as mentioned. Finally, each sheet contains ~50 problems.
HackerRank OJ sheets (4 sheets)
Agenda of phase-3-mathematics (115 problems) 80H
Category | Problems |
---|---|
Fundamentals | 20 problems |
Number Theory | 35 problems |
Combinatorics | 30 problems |
Algebra | 20 problems |
Linear Algebra Foundations | 10 problems |
Agenda of phase-3-graph-greedy (55 problems) 40H
Category | Problems |
---|---|
Graph Theory | 40 problems |
Greedy | 15 problems |
Agenda of phase-3-dynamic-programming (60 problems) 40H
Category | Problems |
---|---|
Bit Manipulation | 15 problems |
Dynamic Programming | 40 problems |
Constructive Algorithms | 5 problems |
Agenda of phase-3-data-structures (60 problems) 40H
Category | Problems |
---|---|
Heap & Disjoint Set & Trie | 10 problems |
Advanced | 25 problems |
Advanced | 25 problems |
- If the student has a target to compete in the programming competitions like ACM-ICPC or Google Codejam or Google Kick-start or Facebook Hackercup, so it's recommended to start with Codeforces sheets, but if (s)he has a target to practice on a specific topic or preparing for an interview, so it's recommended to start with HackerEarth and HackerRank sheets.
- On each one of these sheets has an excel sheet to record your effort and enhance your progress, The time estimate for level problems is between 30 min to 45 min for each one, including reading time, thinking time, coding time, debugging time, and learning time.
- Introduction to Algorithms, Thomas H. Cormen
- Data Structures and Algorithms Annotated Reference, Granville Barnett and Luca Del Tongo
- Analysis of Algorithms An Active Learning Approach, Jeffrey J. McConnell
- Grokking Algorithms: An illustrated guide for programmers and other curious people, Aditya Y. Bhargava
- Competitive Programming 3, Steven Halim
- Fundamental of Algorithms, Gilles Brassard and Paul Bartley
- The Algorithm Design Manual, Steven S. Skiena
- Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles, Narasimha Karumanchi