Skip to content

neha-peddinti/python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 

Repository files navigation

Python

Source code from Code For Tomorrow's Python course

Difficulty Level

Source code is organized under 3 difficulty levels:

  1. 1_beginner
  2. 2_intermediate
  3. 3_advanced

Chapters

Under each of the 3 packages, source code is further divided by chapter.

Beginner

  1. chapter1 Intro to Python
  2. chapter2 Data
  3. chapter3 Operators
  4. chapter4 Conditionals
  5. chapter5 Loops
  6. chapter6 Lists
  7. chapter7 String Manipulation

Intermediate

  1. chapter8 Libraries
  2. chapter9 Dictionaries
  3. chapter10 2D Lists
  4. chapter11 Functions
  5. chapter12 Classes

Advanced

  1. chapter13 Special Methods
  2. chapter14 Selection Sort
  3. chapter15 Tuples & Sets
  4. chapter16 Pythonness
  5. chapter17 Exception Handling
  6. chapter18 Recursion
  7. chapter19 Asymptotic Analysis
  8. chapter20 File I/O

Category

Under each chapter, source code is further divided by category:

  1. examples - example code to demo certain programming concepts
  2. practice - practice exercise templates for students to write code
  3. solutions - solutions to practice exercises

The practice template file has the same name as the corresponding solution file.

Practice Problem Guidelines

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.)

If you have questions, send a message to #questions on the teachers Discord.

Follow good programming style.

  • Indent properly.
  • 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.)
  • Name files so that they are representative of what the program is about.
    • Avoid naming files after concepts, like “Arrays.java”
  • Name variables/methods/functions descriptively, and follow your language’s conventions.
    • Java: camelCase for regular variables, snake case (and uppercase) for constants
    • Python: Snake case for regular variables, snake case (and uppercase) for constants
  • If a line of code is very long, separate it into 2+ lines (e.g. for long lists/arrays, long print statements, etc.)
  • Leave whitespace where appropriate to increase readability.
  • Add comments to explain parts of your code.

Follow the C4T practice and solution problem format.

  • 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.
  • 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.
  • The practice template and solution should have the same file name.
  • For Java teachers: Make sure that you have the correct package statement as the first line of your code.

Thoroughly test your solution. Make sure it works as intended.

  • Hundreds of students and ~50 teachers could potentially see and use your work. Please make sure that it works!

Make sure that the problem is doable for the skill level of your students.

  • Check Thinkific to see if the concepts that you need to solve the problem have been covered already.
  • Be aware of how long your own class takes on other practice problems.
  • Practice problems shouldn’t take several hours/days.

Cite your sources.

  • If you are using data or practice problems from somewhere other than yourself, you MUST cite your sources.
  • Providing a link to the original is usually sufficient if you found the problem online.
  • If you found it in a book, cite the full title and author.

Submit practice problem(s).

Overall directions no matter which option you choose:

  • Make sure you push to the correct folder and repository.
  • Instructions should be formatted as follows:

Practice: [full instructions]

Practice template: practice/[FileName].extension

Solution: solutions/[FileName].extension

To submit a problem, you have 3 options:

(1) Pushing to GitHub

  1. Dm Rebecca Dang on the Teachers Discord with your GitHub username and course(s) you’re teaching to be invited to the C4T GitHub organization
  2. Clone the repo.
  3. Create your own branch. Name it appropriately.
  4. Push your branch to remote.
  5. Mention @Curriculum Development on the Teachers Discord that you have pushed your branch. Be sure to tell us what the name of your branch is!
  6. If Curr-Dev approves, you have permission to merge your branch with master.

(2) Making a pull request

See this help article

(3) Email C4T Curriculum Development

  1. Email [email protected] with all necessary info (e.g. instructions, practice template file, solution file).
  2. Mention @Curriculum Development on the Teachers Discord that you have emailed us please!

Thank you teachers for following these guidelines and helping us build a problem base!

About

Source code from C4T's Python course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%