Course Information
1. Course Title: Introduction to Competitive Programming
2. Course Code: CSE 1200
3. Prerequisite: CSE 1101
4. Semester: 1st Year Even
5. Credit: 0.75
6. Class Hours: 2.5 Hours per 2 Weeks
Course Rationale
The competitive programming lab focuses on developing students' problem-solving skills in order to prepare them to master advanced topics such as data structures, algorithms, and so on. Another purpose of this lab is to encourage students to participate in competitive programming, which is a mental sport that takes place via the Internet or a local network and involves participants attempting to program according to set requirements.
Course Content
Warmup: Basic Input/Output and Conditionals; Basic Mathematics and Introduction to Number Theory; Basic Geometry; Introduction to Different Online Judges.
Loop and Array: Loops and Nested Loops; Array Operations and Techniques i.e., Cumulative Sum, Longest Consecutive Elements, Finding Duplicates, etc.
Functions and Strings: Function Building, Specialized Functions; Basic String Operations and Techniques, Substrings, Subsequences, Palindrome.
Searching and Sorting: Searching Techniques i.e., Linear Search, Binary Search, etc.; Sorting Techniques i.e., Bubble Sort, Selection Sort, etc.
Advanced Topics: Recursion, Backtracking, Matrix Operations etc.
Course Objectives
1. Develop the problem-solving skills among the students.
2. Enable the students to create functional solutions based on the issue statement and requirements provided.
3. Encourage students to get familiar with, participate in, and solve challenges in competitive programming contests.
4. Make students realize the importance of analytical programming in career development.
5. Overcome the fear and nervousness about problem solving.
Assessment and Marks Distribution
Students will be assessed on the basis of their overall performance in all the exams (class performance, reports, quiz, viva, lab final, attendance, projects, and presentations). Final numeric reward will be the compilation of:
1. Continuous Assessment and Summative Assessment: Lab Report/ Lab Performance/ Viva/ Project/ Presentation/ Lab Final/ Attendance/ Quiz. (75%)
2. Board Viva: 25%
Learning Materials:
Text Books
1. Competitive Programming 4: The Lower Bound of Programming Contests in the 2020s, Steven Halim, Felix Halim, and Suhendry Effendy
2. Guide to Competitive Programming, Antti Laaksonen
Reference Books
1. Programming Challenges, Steven Skiena
Other Resources (Online Resources and Others)
1. TBA
Module - 04 (13 Pages) -
Quiz: Syllabus: Chapter 1 to 4, Guide to Competitive Programming, Antti Laaksonen
Lab Final For Section A, 2nd 30:
______________________________________
Feedback Link: https://docs.google.com/forms/d/e/1FAIpQLSeK5ndy7UtkGfeCPU4yMHkAQjapHxxz1MGWNLXRVH2XBqXmAA/viewform
Lab Final Contest(start From: 3.05 PM, 05 Oct. 2024): invitation Link