All Projects → ikokkari → PythonProblems

ikokkari / PythonProblems

Licence: GPL-3.0 license
The graded lab problems for the author's course CCPS 109 Computer Science I.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PythonProblems

Academiccontent
Free tech resources for faculty, students, researchers, life-long learners, and academic community builders for use in tech based courses, workshops, and hackathons.
Stars: ✭ 2,196 (+8033.33%)
Mutual labels:  students, labs
student-work
基于 Laravel5 开发的学生处任务发布监控系统
Stars: ✭ 22 (-18.52%)
Mutual labels:  students
APT-Lab-Terraform
Purple Teaming Attack & Hunt Lab - Terraform
Stars: ✭ 144 (+433.33%)
Mutual labels:  labs
labs-factfinder
New York City Census Reporting Tool
Stars: ✭ 34 (+25.93%)
Mutual labels:  labs
competitive-programming
A one stop resource for competitive programming.
Stars: ✭ 59 (+118.52%)
Mutual labels:  students
edupage-api
A python library for accessing your Edupage account
Stars: ✭ 40 (+48.15%)
Mutual labels:  students
dcs-notes.github.io
Unofficial notes for modules offered in the first year of Computer Science by the University of Warwick
Stars: ✭ 22 (-18.52%)
Mutual labels:  students
JavaExamples
Java material for course CCPS 209 Computer Science II, by Ilkka Kokkarinen.
Stars: ✭ 18 (-33.33%)
Mutual labels:  ilkka-kokkarinen
EduCDM
The Model Zoo of Cognitive Diagnosis Models, including classic Item Response Ranking (IRT), Multidimensional Item Response Ranking (MIRT), Deterministic Input, Noisy "And" model(DINA), and advanced Fuzzy Cognitive Diagnosis Framework (FuzzyCDF), Neural Cognitive Diagnosis Model (NCDM) and Item Response Ranking framework (IRR).
Stars: ✭ 48 (+77.78%)
Mutual labels:  students
sekoliko
Sekoliko | MySchool | MonEcole : School management Software.
Stars: ✭ 39 (+44.44%)
Mutual labels:  students
Introduction-to-Python-Numerical-Analysis-for-Engineers-and-Scientist
Introduction to Python: Numerical Analysis for Engineers and Scientist. In 2017, Python became the world's most popular programming language. This course covers the basic syntax, linear algebra, plotting, and more to prepare students for solving numerical problems with Python.
Stars: ✭ 110 (+307.41%)
Mutual labels:  students
login-with-google
Minimal plugin which allows WordPress user to login with google.
Stars: ✭ 34 (+25.93%)
Mutual labels:  labs
BigComputeLabs
Big Compute Learning Labs
Stars: ✭ 19 (-29.63%)
Mutual labels:  labs
computer-networks
computer networks on docker @ fmi.unibuc.ro
Stars: ✭ 72 (+166.67%)
Mutual labels:  labs
labs
learning based labs for Azure Cosmos DB
Stars: ✭ 66 (+144.44%)
Mutual labels:  labs
Materiales
📚 Materiales de todas nuestras actividades
Stars: ✭ 37 (+37.04%)
Mutual labels:  students
bsu
🎓Repository for university labs on FAMCS, BSU
Stars: ✭ 91 (+237.04%)
Mutual labels:  labs
bsuir-csn-cmsn-helper
Repository containing ready-made laboratory works in the specialty of computing machines, systems and networks
Stars: ✭ 43 (+59.26%)
Mutual labels:  labs
born again neuralnet
Unofficial pytorch implementation of Born-Again Neural Networks.
Stars: ✭ 44 (+62.96%)
Mutual labels:  students
full-teaching
A web application to make teaching online easy. WARNING: the updated version of this repo is now in the link below
Stars: ✭ 34 (+25.93%)
Mutual labels:  students

109 Python Problems for CCPS 109

This repository contains the problem specifications, the automated tester and the necessary data files for the graded lab problems for the course CCPS 109 Computer Science I, as taught by Ilkka Kokkarinen for the Chang School of Continuing Education, Toronto Metropolitan University, Toronto, Canada.

Write all your functions one by one into the same file labs109.py so that the acceptance tester script tester109.py can find them. This tester will execute the automated acceptance tests for the functions implemented in labs109.py. The acceptance tester gives each implemented function a large number of pseudorandomly generated test cases, and computes a checksum from the answers returned by your function. This checksum is compared to the checksum computed from the instructor's private model solution and hardcoded from there into the tester. The function passes the acceptance test if and only if these two checksums are identical, and the time taken by the test is under 20 seconds. The test case generators have been designe to complete in at most a second or two on a modern desktop computer, provided that the student solution is reasonable to begin with, and does not try to achieve with two nested loops something that could be achieved with just one loop.

This setup allows students to work at home at their convenience. They know whether the functions written so far are correct simply by running the acceptance test script. This automation eliminates basically the additional labour needed from the the human instructor or the TA's to run the basic bureaucracy and grading of the lab assignments, so they can rather concentrate on helping students debug their solutions that fail the acceptance tests. Once students have given each problem a good old "college try" (including once sleeping over it to have another look at the problem with fresh eyes the following day) but still haven't been able to untangle that particular knot, they can contact the course personnel for help to get them loose again.

In addition to the precomputed checksums that serve as definitive acceptance tests for each function, the file expected_answers contains the expected results for the first 400 test cases for each problem. The acceptance tester will compare these in lockstep to the results produced by the student solution. At the first discrepancy, the test for that function is immediately terminated, and the test case arguments, the expected correct result and the returned incorrect result are displayed as a valuable debugging aid. Having a reasonably short but explicit test case available is an invaluable aid in debugging a function that does not pass the automated test.

Everyone teaching or learning Python is welcome to use, adapt and distribute these problems and the associated acceptance tester for their own purposes as they see fit. The author welcomes feedback by email at [email protected] from computer science instructors who use these problems in their courses.

Obfuscated model solutions are available in the file obfuscated.txt, to give students the idea of the length of instructor's private solutions.

The lab specification document and the automated tester software tester109.py are released under the GNU General Public License v3, with no warranties implied by the author.

Wordlist words_sorted.txt adapted from dwyl/english-words.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].