Club Of ProgrammerS


Club Of Programmers Summer of Code 2021

Powered by

CSoC is a platform where all the interested people get together to teach and learn the best of programming, to give direction to the future of the students as a potential source in the industry.

Previous Editions of CSOC witnessed huge response, not only from the students of IIT (BHU) but also from the students of other colleges. Overwhelmed, with last year's phenomenal success this year we are even more excited and added a new track Infosec to our list.

The main objective of CSoC is to help people explore various major as well as minor fields of Computer Science which they’ve heard about a lot, but don’t know where to start. Right from the very basic of each of these fields, we take the participants to the maximum possible level of the subject up to their potential to grasp knowledge. as CSoC carries no boundaries, the participants are free to explore and take help from us. Development, Machine Learning, Infosec and Competitive programming will be the four main sectors that will be dealt with during the CSoC 2021 programme. Exciting resources, assignments and mentorship will be provided to all students during the programme.

  • Machine learning: The aim of the program is to equip the participants with the necessary tools and techniques of Machine Learning and computational intelligence. Students will be encouraged to explore topics like Computer Vision, Natural Language Processing and Reinforcement learning, some of the hot topics in artificial intelligence.

  • Development: We aim to connect people with the mainstream software development techniques, adding a little bit of open-source flavor for collaborative learning. The program has resources and weekly tasks that guide students through various tracks as listed below:
    1. Frontend Web development using the current state-of-the-art frameworks
    2. Native Mobile development
    3. Cross-platform mobile development using Flutter
    4. Backend development.
    In the end, students will be comfortable in one of the tracks along with the development environment setup, essential knowledge in app-dev, and contributing to open-source all by themselves.

  • Competitive Programming: The aim is to give exposure to students regarding the various concepts, tools, and tricks in competitive programming. To encourage a good culture, there will be a 7-day long practice contest, with carefully picked interesting questions of various topics from beginner to expert level, which one can solve along with studying the materials. This will be carried on with a discussion on Telegram and Google Group, where one can clear their doubts. Tutorials and practice problems, along with their editorials will be released for every contest.

  • Infosec: With a proper structure and aim to source the need of Cyber Security working up through workshops and CTFs, moreover with real time overview and analysis of attacks on big shots like WannaCry, DarkSide, US Colonial Pipe Attacks, Ransomware Attacks and many more. When others would teach you MakeTheCode, we will bring "How to break the code" / how to reverse Windows Software, Web Attack and Defense,Android APKs and much more. In the end you would be much more buffed up on in-depth Cryptography, Reverse Engineering, Binary Exploitation, Web Attacks and various ways to overcome the Cyber Security block.
Google Group

A brief timeline of the CSoC 2021 programme is as follows:


Week 1

STL and Implementation, Greedy and Binary Search.

Basic Machine learning terminology and deep neural networks. Intro to Frameworks like Pytorch and Tensorflow.

Introduction to CyberSecurity and Ethical Hacking and resources for Linux Bash Shell, basic to medium shell commands,and week long Bandit wargames aimed at absolute beginners.

Resources and tasks related to Linux installation, Shell commands, collaborations using Git & GitHub.

Week 2

Number Theory, DP (Basic).

Introduction to Computer Vision - Convolutional Neural Networks

Showing skillset of Steganography and Forensic tools to look into files and extract hidden information from them. Assingments and tasks to get familiar with Steganography and Forensics part of CTF.

Learning about interactive UI and UX on Mobile and Web Apps through resources and by developing an interactive and simple game.

Week 3

Graph Theory 1 (DFS, BFS, shortest paths, tree basic), Counting Problems and Expected Value.

Introduction to Computer Vision - Recurrent models and segmentation.

Learning and understanding other miscellaneous techniques and concept required in Cyber Security along with basic python/bash scripting to write scripts for all sorts of purpose.

Resources for interacting with Web APIs through HTTP and learning about Local Storage architecture on Mobile Apps.

Week 4

Graph Theory2 (Directed Graph, DFS tree), Data Structure 1 (DSU, Stacks, Queues tricks).

Introduction to Computer Vision - Generative Adversarial Networks.

Resources for understanding basics of Web Exploitation, Understanding the TCP/IP model, learning basic web exploitation techniques like SQLi, XSS etc followed by a CTF event based on everything covered so far.

Getting started with the state of the art frontend frameworks and interacting with Web APIs on Mobile Apps.

Week 5

String algorithms, DP(Advanced problems and techniques).

Introduction to Natural Language Processing - NLTK toolkit and word embeddings.

Understand the binary executable files like PE/ELF, learning to use various debuggers and decompilers for java , python, .NET. Resources for basics of assembly language and debugging executables over how to inspect them. Debugging using GDB and GHIDRA to manipulate control flow and solving some CrackMes and assignments.

Resources and assignments related to backend development will be provided with tracks for several programming languages.

Week 6

Advanced Data Structures, Trees( Subtree problems with segment tree, LCA)

Introduction to Natural Language Processing - Recurrent Networks and LSTMs.

Resources and challenges related to linux binary exploitation,Pwn using techniques like buffer overflow, ROP and SIGROP. Study material on how a binary works ,what is a stack, how is memory mapped for a process. Assignment from CTF on this topic.

Resources and task for developing REST APIs using various programming languages like Python, Node, etc., will be provided.

Week 7

Advanced Data Structures, Trees( Subtree problems with segment tree, LCA)

Introduction to Natural Language Processing - Transformers, Attention models and BERT.

Introduction to cryptography,importance of cryptography in infosec, Understanding techniques like block ciphers, RSA,hashing etc followed by a CTF event with challenges covering RE, Pwn and Cryptography.

Assignments for dealing with drawbacks of REST through GraphQL APIs aligned with ongoing language tracks.

Week 8

Mashup Contest

Introduction to Reinforcement Learning - A brief introduction.

Final CTF consisting of challenges from all the categories of a CTF covered so far with varying level of difficulty and appending up points till now to the Leaderboard.

Resources for getting started with open source contributions will be provided.