/ dse-exercises Public

HKDSE Practical Exercises

# hkoi/dse-exercises

Switch branches/tags
Nothing to show

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

## Files

Failed to load latest commit information.
Type
Name
Commit time
March 14, 2023 23:29
August 11, 2021 17:19
December 25, 2020 01:57
December 18, 2020 13:21

# HKDSE ICT Elective Module D Software Development Practical Exercises by HKOI Organizing Committee

The HKOI Organizing Committee will be providing a platform for secondary school students to practice programming (via HKOI Online Judge). Exercises will be available in both Chinese and English, and in Pascal and C programming language. Note: not intended for assessment purposes as all contents are available to the public.

Special thanks to Ian Wong from Pui Ching Middle School for his help to translate statements into Chinese.

## Structure of an exercise

### Statement

The statement contains the main problem description, the input specifications and output specifications. At the end there will be a few sample test cases.

### Worksheet

A step-by-step tutorial to complete the exercises.

### Teaching Guide

Includes answers to the worksheet, sample solution program, as well as answers to the bonus questions. Supplementary notes will be helpful to debug students' programs. Possible alternative solutions will also be discussed.

## Exercises

Currently, 57 exercises are proposed. We expect that more exercises will be added later.

Overall progress: 196/228 = 85.96%

ID Name Statement 中文 Test casesSolutions
Basics, If (13)
D100A+B problem 2016-09-102016-09-102016-09-102016-09-10
D101Phone number 2015-06-172015-07-152015-06-172015-06-17
D102Bus fare 2015-06-172015-07-152015-06-172015-06-17
D103Area of triangle 2015-06-162015-07-162015-06-162015-08-01
D105Date comparison 2015-06-222015-07-172015-07-012015-08-01
D106Ordinal number 2015-07-012015-07-172015-07-012015-08-01
D107Square and trianglar numbers 2015-06-222015-07-182015-07-012015-08-01
D108Simple calculator 2015-07-012015-07-182015-07-012015-08-01
D109Giving changes 2015-07-012015-07-192015-07-012015-08-01
D110King movement 2016-09-102016-09-102016-09-102016-09-10
D111Body Mass Index 2020-11-092020-11-092020-11-092020-11-09
D112Bitwise operations 2020-11-092020-11-092020-11-092020-11-09
Loops (9)
D201Fibonacci numbers 2015-07-012015-07-192015-07-012015-08-01
D202Factors 2015-07-012015-07-212015-07-012015-08-01
D203Clap 7 2015-07-032015-07-212015-07-032015-08-01
D204Text graphics 2015-07-032015-07-212015-07-032015-08-01
D205Prime factorization 2015-08-012015-08-022015-08-012015-08-01
D2063n+1 Problem 2015-07-032015-07-232015-07-032015-08-01
D207GCD and LCM 2015-07-032015-07-232015-07-032015-08-01
D208Maximum and second maximum 2015-10-012015-10-082015-10-012015-10-01
D209Sequence validation 2020-11-092020-11-092020-11-092020-11-09
D210Area of polygon 2020-11-092020-11-092020-11-092020-11-09
Strings (9)
D301Story generator 2015-07-082015-07-272015-07-082015-08-02
D302String length and words 2015-07-082015-07-282015-07-082015-08-02
D303String reverse and palindrome2015-07-082015-08-022015-07-082015-08-02
D304Hangman 2015-07-082015-08-042015-07-082015-08-02
D305Check digit calculation 2015-07-152015-08-102015-07-152015-08-02
D307Tic-tac-toe 2015-07-152015-08-142015-07-152015-08-02
D308Substrings 2015-07-152015-10-092015-07-152015-08-02
D309Case-insensitive comparison 2015-07-162015-10-092015-07-162015-08-02
Arrays (6)
D401Sieve of Eratosthenes 2015-08-042015-10-102015-08-042015-08-04
D402Supermarket 2015-07-162015-10-102015-07-292015-08-04
D403Scrabble 2015-07-162015-10-102015-07-292015-08-04
D404MTR fare 2015-07-172016-09-102015-07-292015-08-04
D405Simple maze 2015-07-172016-09-102015-07-292015-08-04
D406Remove duplicates 2020-11-092020-11-092020-11-092020-11-09
File manipulation (5)
D501Heung Shing Bank 2016-09-162016-09-162016-09-162016-09-16
D502Weather statistics 2016-09-162016-09-162016-09-162016-09-16
D503Textual bar chart 2016-09-162016-09-162016-09-162016-09-16
D504SVG bar chart
Writing custom functions (4)
D601Currency formatting
D602Random number generator
D603Input helper with validation
D604Tower of Hanoi
Data structures (6)
D701Queue 2015-07-192016-09-132015-08-142015-08-14
D702Stack 2015-07-192016-09-132015-08-142015-08-14
D706Cyclic queue 2016-09-162016-09-162016-09-162016-09-16
Algorithms (9)
D801Binary search 2015-07-232016-09-102015-09-262015-09-26
D802Bubble sort 2015-07-232016-09-102015-09-262015-09-26
D803Insertion sort 2015-07-252016-09-102015-09-292015-09-29
D804Merging arrays 2015-07-252016-09-102015-10-012015-10-01
D805Merging sub-arrays 2015-07-252016-09-102016-09-102016-09-10
D806Merge sort 2016-09-102016-09-102016-09-102016-09-10
D807Quick sort: partitioning 2016-09-102016-09-102016-09-102016-09-10
D808Quick sort: analysis 2016-09-102016-09-102016-09-102016-09-10
D809Counting sort

HKDSE Practical Exercises

## Releases

No releases published

## Packages 0

No packages published