The CCPS 109 Python Problems form a collection of 109 individual programming challenges designed for students taking the Computer Science I course at the Chang School of Continuing Education, Toronto Metropolitan University, Canada. These problems are curated by Ilkka Kokkarinen and are listed roughly in order of increasing complexity. Additionally, there are fourteen advanced bonus problems for students seeking a more challenging experience.
- Scope: The problems are designed to be solvable using only the core computation structures introduced in the first five weeks of the course.
- Requirements: Solutions should adhere to certain guidelines, such as using only the Python 3 standard library (excluding specialized libraries) and avoiding floating-point operations.
- Implementation: All solutions must be implemented in a single source code file named
labs109.py. A provided tester script,tester109.py, allows students to validate their functions and track their progress in the course.
- Efficiency: Solutions should be efficient, with each individual function's test taking at most a couple of seconds to complete.
- Precision: Avoid floating-point operations to prevent issues with precision in test cases.
- Silent Execution: Functions should return the expected result silently without printing anything on the console. Debugging outputs are allowed during development but should be commented out before submission.
- Collaboration: The emphasis is on collaboration and discussion at the idea level, fostering a supportive community among students.
The problems are compiled from various sources, including past Java versions of the course, programming puzzle and code challenge sites, and recreational mathematics works. The author acknowledges the contributions of past students in uncovering errors and ambiguities, actively shaping the quality of the problem set.
This collection, released under the GNU Public License version 3, serves as a comprehensive resource for learning and applying fundamental programming concepts, offering challenges that go beyond mere academic exercises to touch deeper issues in computer science and related fields.```
Les problèmes Python CCPS 109 constituent une collection de 109 défis de programmation individuels conçus pour les étudiants du cours Informatique I à la Chang School of Continuing Education, Université Métropolitaine de Toronto, Canada. Ces problèmes, organisés par Ilkka Kokkarinen, sont classés par ordre de complexité croissante. Quatorze problèmes bonus avancés sont également proposés pour les étudiants en quête de défis supplémentaires.
- Portée : Les problèmes sont conçus pour être résolus uniquement avec les structures de calcul fondamentales introduites durant les cinq premières semaines du cours.
- Exigences : Les solutions doivent respecter certaines consignes, comme l’utilisation exclusive de la bibliothèque standard Python 3 (sans bibliothèques spécialisées) et l’évitement des opérations en virgule flottante.
- Implémentation : Toutes les solutions doivent être regroupées dans un seul fichier source nommé
labs109.py. Un script de test fourni,tester109.py, permet aux étudiants de valider leurs fonctions et de suivre leur progression dans le cours.
- Efficacité : Les solutions doivent être efficaces, chaque test de fonction individuelle ne devant pas dépasser quelques secondes d’exécution.
- Précision : Il faut éviter les opérations en virgule flottante afin de ne pas rencontrer de problèmes de précision lors des tests.
- Exécution silencieuse : Les fonctions doivent retourner le résultat attendu sans afficher quoi que ce soit à la console. Les sorties de débogage sont autorisées pendant le développement mais doivent être commentées avant la soumission.
- Collaboration : L’accent est mis sur la collaboration et la discussion au niveau des idées, favorisant une communauté d’entraide entre les étudiants.
Les problèmes sont compilés à partir de diverses sources, notamment d’anciennes versions Java du cours, des sites de puzzles de programmation et de mathématiques récréatives. L’auteur remercie les étudiants précédents pour leur contribution à la correction d’erreurs et d’ambiguïtés, améliorant ainsi la qualité de l’ensemble de problèmes.
Cette collection, publiée sous licence GNU Public License version 3, constitue une ressource complète pour l’apprentissage et l’application des concepts fondamentaux de la programmation, proposant des défis qui vont au-delà des exercices académiques pour aborder des questions plus profondes en informatique et dans des domaines connexes.