Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
11 views

Programming Rulebook

Uploaded by

ehtesham.haider
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Programming Rulebook

Uploaded by

ehtesham.haider
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Introduction

In today’s rapidly evolving technological landscape,


programming has emerged as a cornerstone of innovation
and progress. It is not merely a skill, but a fundamental
literacy that empowers individuals to navigate and shape the
digital world. As we stand on the precipice of unprecedented
advancements in artificial intelligence, data science, and
software development, the ability to code has never been
more vital.
Baitussalam has embraced the initiative of unveiling the
technology for the youth. Among the many contests organized
under TIF’24, Competitive Programming has its own
significance. This programming contest serves as a platform
to harness the creative potential of participants, fostering
problem-solving abilities, critical thinking, and collaboration.
By engaging in this competition, you are not only honing your
technical skills but also contributing to a community that
thrives on ingenuity and shared knowledge. The challenges
presented here are designed to stimulate your intellect, push
the boundaries of your creativity, and inspire you to explore the
limitless possibilities that programming offers.
In addition to technical prowess, this contest emphasizes the
importance of resilience and ethical considerations in
technology. As you embark on this journey, remember that
each line of code has the power to influence lives and drive
societal change. Embrace this opportunity to learn, connect,
and grow, and let your passion for programming shine.
Contest Overview
Led by TIF, Technology and Innovation Festival,
competitive programming is an exciting event where
individuals or teams solve coding problems within a set
time frame.
Participants tackle challenges that test their algorithmic skills,
logical reasoning, and proficiency in programming languages.
To master the inevitable future computer languages, TIF has
offered a platinum opportunity for the brainy minds to
upgrade their grip in the programming field. Additionally, the
contests encourage personal growth and resilience, allowing
students to showcase their talents and prepare for future
academic and career opportunities in the technology field.
Overall, the contest enriches the
educational experience at Baitussalam and inspires a lifelong
passion for coding.
Eligibility
TIF invites anyone familiar with programming to participate in our upcoming
programming contest! Students can freely turn up regardless of any age
limitations or educational
status.

Registration
Registration will be open from 1st October to 10th October. Students are
encouraged to register early to secure their spot.

How to Register:

 Online Form: Students can register by filling out the online


registration form available on the institute's website or contest
portal.
 Information Required: Participants will need to provide their full
name, student ID, email address, and any relevant programming
experience or interests.

Note: It is essential to complete registration by the specified deadline to


ensure participation. Late registrations may not be accepted.

Orientations and Workshops


TIF is more of a learning field than a competing field. We have a vision to
equip the maximum number of students with programming skills,
accompanied by logical and deep thinking. There will be continuous sessions
to take the learners along. It consists of the:
1. Orientation: A gathering for the participants where they will be informed
regarding the main objectives of the contests. Problems breakdown
and examples of the competitive problems will be explained to know the
structure of the contest.
2. Workshops: To enhance your programming skills and prepare you for
the challenges ahead, we are excited to offer a series of daily and
weekly workshops focused on
Python. These sessions are designed to provide participants with both
foundational knowledge and practical experience, ensuring their learning
and making them more familiar with coding. The practice sessions will be the
most important of all provided.
Daily Workshops
Our daily workshops will focus on specific topics and challenges
related to Python programming. Each session will include:
Interactive learning sessions, hands-on coding exercises, and group
discussions, allowing you to engage directly with core concepts under the
guidance of instructors. You'll also explore real-world applications of
Python across various fields such as data analysis, web development, and
automation.

Weekly Workshops
Workshops on weekends will provide a deeper dive into advanced topics through
project- based learning, where you can collaborate with peers on complex
programming
problems. These sessions will include regular coding challenges to
reinforce your skills and constructive feedback to help you improve.
Together, these workshops will not only deepen your knowledge of Python but
also foster a supportive community of aspiring programmers.

Structure of the Contest


All the participants will be divided into two main Divisions:

Division Division 2
1
A O
levels
levels
C Matric
Division 1.
Includes A1, A2, A3 and above.
Division 2.
Includes all the O-levels and Matric students.
For each division, separate competitions will be held where the complexity level
varies.
Main Rounds:
The entire event is segregated into three rounds:
1. Qualifying Round
After the essential training and practice sessions, all the members will be
challenged with some basic problems to ensure their progress and learning.
This will, in specific, check their strength and output achieved from the two-
month long hard work. Specific points must be scored to go to the final
round.

Qualifyi 3 Problems
30 minutes
ng No time deduction

Round

2. Semi
-final
Semi-finals will filter the non-serious participants and will clear the ground for
the competitive and willing programmers.

Semi-final 4 Problems
45 minutes
No time deduction

3. Final
The most decisive phase of all. The students clearing the semifinal will show
up in the final. The ultimate problems of various difficulty levels will have to be
solved and coded in limited time.

Fina d
l
Roun
1 roblems for Division 1 and 8 Problems for
1 Division 2 2 Hours
Points deduction on time taken for a specific problem
P
Duration of the Contest
The contest will last for two hours. All the participants would be provided with
specific questions that will test the thinking, interpretation, analytical and
chiefly the coding skills. Remember that management of time does have a
crucial part in gaining points. This could be further understood upon analyzing
the scoring criteria.
Number of Problems
Each participant will be given the same set of problems to solve. There will be
3-5 problems for the qualifying section, 4-6 for the semi-final. In the final, a
sum of 10-15 problems for Division 1 and 7-10 problems for Division 2, of
different types will be given to the participants.

Types of Problems
Participants will be tasked with a diverse list of problems to solve/code. The
questions will be related to the following categories:
 Flowcharts: A visual representation of a process or algorithm
using shapes and arrows.
 Structured English: A high-level, human-readable description of an
algorithm using natural language combined with programming
constructs.
 Algorithm: A step-by-step procedure or formula for solving a problem.
 Mathematical Problems: Problems that involve mathematical
concepts, often requiring mathematical reasoning or formulas.
 Logical Problems: Problems that require reasoned coding and the
application of logical principles to arrive at a solution.
 Data Structure Problems: Problems that involve the use of specific
data structures (like arrays, linked lists, trees, or graphs) to organize
and manipulate data.
 Greedy Algorithm Problems: Problems that can be solved by
making a series of choices that look best now (locally optimal
solutions).
 Graph Problems: Problems involving graphs, such as finding the
shortest path, connectivity, and traversals (like BFS and DFS).
 Algorithm Sprint: Short, timed challenges focused on specific
algorithms or data structures. Participants solve as many problems
as possible within a limited timeframe.
 Debugging Contest: Provide participants with buggy code snippets
that they need to fix. Points can be awarded based on the number of
bugs found and fixed within a set time.
 Code Golf: Participants must solve problems using the least number of
characters possible. This tests creativity and understanding of
programming language quirks.
 Real-World Problem Solving: Present participants with a real-world
problem (e.g., optimizing a delivery route) and see who can create the
most efficient solution.
 API Integration Challenge: Participants must build a small
application that integrates with a specific API. This tests their ability to
work with external services.
 Themed Challenges: Create problems based on a specific theme
(e.g., games, finance, healthcare). Participants can choose which
themed challenges to tackle.
 Mystery Code Challenge: Give participants a piece of code that
behaves unexpectedly. They must identify what it does and create a
solution based on their understanding.
 Code Review Contest: Participants are given code snippets to review
and suggest improvements. Points are awarded based on the quality
and number of suggestions made.
 Game Development Challenge: Set a goal to create a simple game
within a limited timeframe, focusing on creativity and gameplay
mechanics.
 Code Arrangement: A correct code but in the wrong order of lines
will have to be arranged to run right.
 Blanks: Some missing points will have to be added to complete the code, so
it runs.
 Trace Table: Run the code and make a trace table that represents
the process the code is for.
 Reasoned statement of code: A running code is provided. You
must provide a statement that best describes the purpose and the
function of the code.

Programming Language
Each participant will be required to code in python. Additionally, they must have a
good understanding to face all kind of challenges those involve python.
Here are some of the topics every participant must go through:
Basic Data Structures:
 Lists, tuples, sets, and dictionaries
 Algorithms:

Sorting algorithms (like quick sort and merge


sort) Basic searching algorithms (like binary
search)
 String Manipulation:
Common operations and patterns (substrings, palindromes)
 Recursion:
Understanding how to write and optimize recursive functions
 Basic Graph Algorithms:
Depth-first search (DFS) and breadth-first search (BFS)
 Dynamic Programming:
Familiarity with common DP problems (like the Fibonacci sequence, coin
change)
 Complexity Analysis:
Understanding time and space complexity basics
 Mathematics:
Basic number theory (GCD, prime numbers)
 Problem-Solving Techniques:
Greedy algorithms (like activity selection)

Evaluation Criteria
Each problem will have a specified point value between 5 and 10. The more
difficult the problem, the more points a correct solution will receive. The points
a question carries will be mentioned with it.
Points will be awarded based on the correct responses. While evaluation,
the quality of the answer and the time taken to solve a problem will also
be crucial in scoring points.
The total minutes for a solution will be converted into points that will be
deducted from the total points gained in the problem.
A program will be considered wrong if it fails to work on one or more of the
test cases. The tables represent the scoring criteria for the two Divisions:
Division 1

Problem No. Status Points Standard time Deduction


In minutes with
time/min
1 Easiest 3 3 0.25
2 Easy 5 5 0.20
3 Easy 5 5 0.20
4 Medium 6 7 0.20
5 Medium 6 7 0.20
6 Confusing 7 10 0.15
7 Tougher 8 12 0.15
8 Challenging 9 15 0.10
9 Hard 10 15 0.10
10 Very Hard 12 20 No Deduction
11 Exceptional 15 25 No Deduction

Points distribution at each difficulty


level

15% Easy( 3 prob.)

31% Medium( 3 prob.)


Hard(3 prob.)
22% Exceptional( 2
prob.)

32%
Division 2

Problem No. Status Points Standard Deduction


time with
In minutes time/min
1 Easiest 3 3 0.25
2 Easy 4 5 0.25
3 Easy 4 5 0.25
4 Medium 6 7 0.20
5 Confusing 8 10 0.20
6 Hard 8 15 0.20
7 Very Hard 10 20 0.10
8 Exceptional 12 25 No Deduction

Points distribution at each difficulty


level

13% Easy( 3 prob.)


Medium( 2 prob.)
16% Hard(2 prob.)
51% Exceptional( 2
prob.)

20%

Submission Guidelines
After one has solved a problem, he must go to the counter and get his problem
submitted.
Everyone must ensure that his problem number and time taken is correctly
entered in accordance with his name.
Judging Process
The solutions will be run and checked by well-qualified judges. They will
appropriately award points a solution deserves. Their verdict will be decisive
and final!
G. Code of Conduct
We expect the participants to pass the entire process with good manners.
Your collaboration will be helpful for us to better run the contest. In case of
any plagiarism or misconduct, he will be disqualified from the event.
10. Prizes and Awards

TBD…

You might also like