Skip to content

HelloTwT/dse-exercises

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

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.

License

Creative Commons Attribution-ShareAlike 4.0 International. The full text of the license is available at https://creativecommons.org/licenses/by-sa/4.0/legalcode.

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
D104Roots of quadratic equation 2015-06-222015-07-162015-07-012015-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
D306Email address validator 2015-07-152015-08-122015-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
D505Give grades
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
D703Linked list representation 2015-09-252016-09-132015-09-252015-09-25
D704Linked list: insertion 2015-09-252016-09-132015-09-252015-09-25
D705Linked list: deletion 2015-09-252016-09-132015-09-252015-09-25
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

About

HKDSE Practical Exercises

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 46.3%
  • C++ 17.3%
  • Java 12.8%
  • C 9.2%
  • Pascal 8.9%
  • Python 5.5%