You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+49-1Lines changed: 49 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,4 +42,52 @@ In each chapter package, source code is organized by category:
42
42
2.`practice` - practice exercise templates for students to write code
43
43
3.`solutions` - solutions to practice exercises
44
44
45
-
Practice template files share the same name as their corresponding solution files.
45
+
Practice template files share the same name as their corresponding solution files.
46
+
47
+
# Practice Problem Guidelines
48
+
Please follow the following guidelines when creating or finding practice problems. We expect all problems submitted by teachers to maintain the highest quality! (You can also read these guidelines on every repository’s README.md.)
49
+
50
+
If you have questions, send a message to #questions on the teachers Discord.
51
+
52
+
## Follow good programming style.
53
+
* Indent properly.
54
+
* Make sure there are spaces between binary operators, parentheses, curly braces, etc. when applicable. (For method/function calls, there should not be a space between the method/function name and the parentheses.)
55
+
* Name files so that they are representative of what the program is about.
56
+
* Avoid naming files after concepts, like “Arrays.java”
57
+
* Name variables/methods/functions descriptively, and follow your language’s conventions.
58
+
* Java: camelCase for regular variables, snake case (and uppercase) for constants
59
+
* Python: Snake case for regular variables, snake case (and uppercase) for constants
60
+
* If a line of code is very long, separate it into 2+ lines (e.g. for long lists/arrays, long print statements, etc.)
61
+
* Leave whitespace where appropriate to increase readability.
62
+
* Add comments to explain parts of your code.
63
+
64
+
## Follow the C4T practice and solution problem format.
65
+
* All code filed under `practice` should be templates. Templates may include things like an empty class and main method. They must include a multi-line comment with the full instructions that are also displayed on Thinkific at the top of the program.
66
+
* All code filed under `solutions` should be solutions. Solutions should include the full instructions at the top of the file and then a possible solution to the problem.
67
+
* The practice template and solution should have *the same file name.*
68
+
* For Java teachers: Make sure that you have the correct package statement as the first line of your code.
69
+
70
+
## Thoroughly test your solution. Make sure it works as intended.
71
+
* Hundreds of students and ~50 teachers could potentially see and use your work. Please make sure that it works!
72
+
73
+
## Make sure that the problem is doable for the skill level of your students.
74
+
* Check Thinkific to see if the concepts that you need to solve the problem have been covered already.
75
+
* Be aware of how long your own class takes on other practice problems.
76
+
* Practice problems shouldn’t take several hours/days.
77
+
78
+
## Cite your sources.
79
+
* If you are using data or practice problems from somewhere other than yourself, you MUST cite your sources.
80
+
* Providing a link to the original is usually sufficient if you found the problem online.
81
+
* If you found it in a book, cite the full title and author.
82
+
83
+
## Push the practice template and solution code to GitHub or ask a Curriculum Development member to do it for you. You must also submit the full instructions.
84
+
* Make sure you push to the correct folder and repository.
0 commit comments