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).
Codeforces OJ sheets (3 sheets)
The Codeforces OJ sheets codeforces-phase-1-1, codeforces-phase-1-2, codeforces-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.
Category |
Problems |
Basic Operator |
5 problems |
Condition |
10 problems |
Loop |
20 problems |
String |
20 problems |
List |
40 problems |
Category |
Problems |
Basic Operator |
5 problems |
Condition |
10 problems |
Loop |
20 problems |
String |
20 problems |
List |
40 problems |
Category |
Problems |
Basic Operator |
5 problems |
Condition |
10 problems |
Loop |
20 problems |
String |
20 problems |
List |
40 problems |
HackerEarth OJ sheets (4 sheets)
The HackerEarth OJ sheets hackerearth-phase-1-1, hackerearth-phase-1-2, hackerearth-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 hackerearth-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.
Category |
Problems |
Implementation |
25 problems |
Implementation |
25 problems |
Implementation |
25 problems |
Implementation |
25 problems |
Category |
Problems |
Implementation |
25 problems |
Implementation |
25 problems |
Implementation |
25 problems |
Implementation |
25 problems |
Category |
Problems |
Implementation |
25 problems |
Implementation |
25 problems |
Implementation |
25 problems |
Implementation |
25 problems |
Category |
Problems |
Input/Output |
50 problems |
Bit Manipulation |
70 problems |
Recursion |
10 problems |
Operators |
5 problems |
HackerRank OJ sheets (1 sheet)
The HackerRank OJ sheet hackerrank-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.
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 - Basic Algorithms - Searching Algorithms - Sorting Algorithms).
Codeforces OJ sheets (4 sheets)
The Codeforces OJ sheets codeforces-phase-2-1, codeforces-phase-2-2, codeforces-phase-2-3 contain B-Div2 problems, and each sheet of them divided into 5 classes of problems (Data Structure - Mathematical - 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 codeforces-phase-2-gym-contests that focus on gym-contests, It's divided into 3 classes of contests, that contains ~100 contests.
Category |
Problems |
Data Structure |
15 problems |
Mathematical |
25 problems |
String |
15 problems |
Greedy |
25 problems |
Brute Force |
5 problems |
Category |
Problems |
Data Structure |
15 problems |
Mathematical |
25 problems |
String |
15 problems |
Greedy |
25 problems |
Brute Force |
5 problems |
Category |
Problems |
Data Structure |
25 problems |
Mathematical |
25 problems |
String |
25 problems |
Greedy |
25 problems |
Brute Force |
5 problems |
Category |
Problems |
Educational Codeforces Rounds |
80 contests |
Codeforces GYM Contests * |
5 contests |
Codeforces GYM Contests ** |
15 contests |
HackerEarth OJ sheets (4 sheets)
The HackerEarth OJ sheets hackerearth-phase-2-linear-data-structures, hackerearth-phase-2-non-linear-data-structures, hackerearth-phase-2-algorithms-searching, hackerearth-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.
Category |
Problems |
Arrays 1D |
65 problems |
Arrays Multi-dimensional |
20 problems |
Stacks |
25 problems |
Queues |
5 problems |
Category |
Problems |
Binary Tree |
10 problems |
Binary Search Tree |
10 problems |
Heaps / Priority Queues |
20 problems |
Hash Tables |
50 problems |
Category |
Problems |
Linear Search |
15 problems |
Binary Search I |
50 problems |
Binary Search II |
50 problems |
Ternary Search |
5 problems |
Category |
Problems |
Bubble & Selection & Insertion |
15 problems |
Merge |
25 problems |
Quick & Count & Heap |
25 problems |
HackerRank OJ sheets (2 sheets)
The HackerRank OJ sheets hackerrank-phase-2-data-structures, hackerrank-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.
Category |
Problems |
Arrays & Linked Lists |
20 problems |
Stacks & Queues |
10 problems |
Trees & Balanced Trees |
20 problems |
Heap & Disjoint Set & Trie |
10 problems |
Advanced |
50 problems |
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.