CS-A1113 - Basics in Programming Y1, Lecture, 6.9.2022-16.12.2022
This course space end date is set to 16.12.2022 Search Courses: CS-A1113
Topic outline
-
The course exercises can be found at the end of each module with the materials here on A+. There are nine modules and exercise rounds with weekly deadlines. Deadlines are on Thursdays at 11:00.
Note that A+ uses an automated grading system. It expects your programs' outputs to exactly match the example executions given in the exercise descriptions (as well as other test cases). In order to avoid typos or differences in phrasing, it is recommended that you copy the printed statements from the example executions and paste them into your code. At times, your code will also be manually reviewed at a later date. The score given by the automated grading is therefore preliminary and may be deducted if the submitted code is written poorly or if it does not solve the problem in the way outlined in the Exercise description.
For each programming exercise, you will have 10 submission attempts. This means that, before submitting your code to A+, you should always run it locally to see that it matches the example executions given at the bottom of the Exercise description. The submission with the highest score will be your final score for that Exercise. Under some circumstances, such as if the automatic grader crashes or causes other issues, the course staff can grant additional submission attempts.
A+ also utilises an automated similarity analysis tool, which will compare your code to other students' submissions. Cases of suspected plagiarism are taken very seriously and will be handled in accordance with the Aalto University Code of Academic Integrity. While giving other students helpful hints and guidance is encouraged, directly working together on the same code (or copying another student's code) is never acceptable. For further information, see Group work and plagiarism.
A note for experienced Python users: the A+ system does not support most modules from the Python Standard Library or any external libraries, so do not use these in your exercise submissions.
If you need help with the exercises, please attend one of our thrice-weekly Exercise Sessions or ask the question on our Slack workspace.
Exercise rounds and scoring
The course exercises are divided into rounds. Each round has its own deadline. There are nine (9) rounds in total, of which the first eight (8) are mandatory. This means that you must get at least the minimum amount of points determined for each round to get a passing Exercise grade (see ways to make up for lost points below in the part Substitute exercises). In addition, you have to answer a mandatory feedback form for the round. If you get the minimum amount of points from each round (and have answered to the mandatory questions), you get the grade 1 from the course Exercises. You can get a better grade by collecting more points from the Exercises.
The exercise rounds are:
Opens
(10:00)Closes
(11:00)Percentage score
required to passMinimum score
required to passRound 1: Python basics 5.09.2022 (delayed momentarily) 15.9.2022 70 % 360 Round 2: Control structures 12.09.2022 22.9.2022 50 % 295 Round 3: Control structures II 19.09.2022 29.9.2022 50 % 325 Round 4: Functions 26.09.2022 6.10.2022 50 % 360 Round 5: Lists, strings and dictionaries 3.10.2022 13.10.2022 50 % 335 Round 6: More on lists, strings and dictionaries 10.10.2022 20.10.2022 56 % 400 Round 7: Exceptions and file handling 17.10.2022 27.10.2022 56 % 370 Round 8: File handling II 31.10.2022 10.11.2022 56 % 385 Round 9: Classes and objects 7.11.2022 17.11.2022 59 % 600 Substitutive exercises - - n/a n/a Round 9: Classes and objects
While rounds 1 – 8 are mandatory, the final round of exercises, Round 9, is not required to pass the course. Note that, if you choose to skip Round 9 (or if you do not get a passing grade in it), the highest possible grade you can get for the Exercises (as a whole) is 2. If you want to reach a grade higher than 2, you will also need to pass Round 9. (The minimum points in total are not enough for the grade 3 but, the grade 3 or more cannot be achieved without the minimum points from round 9.)
Substitutive exercises
If, for a given round of exercises, you receive a total score below the accepted minimum, you can complete a substitutive exercise to make up for that round. You can substitute up to three of the mandatory rounds and the object-oriented round. The course has four substitutive exercises, which will open on A+ in November 2021. One substitutive exercise has to be done for each round that needs to be substituted. In order to substitute the round, you must achieve the minimum score for the respective substitutive exercise. The substitutive exercise only replaces the round up to its minimum points, which means that you cannot receive high marks for the round that you are substituting.
VIDEO: How to troubleshoot in programming
VIDEO: PyCharm Debugger, a very useful tool
VIDEO: If - elif - else explained