FDPNotes

Tools / concepts introduced

Tools / concepts introduced

  1. Github and Gitter

  2. http://pep8online.com/

  3. Markdown format for documentation

    • http://bit.ly/markdown10sec

    • http://bit.ly/markdownTutorial

    • http://j.mp/markdownLesson

  4. PythonTutor.com

  5. Online REPL repl.it

  6. Local Geany + Python IDLE

  7. CyberDojo for TDD and incremental learning / thinking

    • http://j.mp/custPython3 (with KyG.id, and modified shell script)

  8. unittest Testing framework

    • pytest framework

  9. Python online documentation

FDP Notes - Day 2

Goal:

  1. https://github.com/kgisl/pythonFDP/blob/master/README.md#outcome-expected - please sign to indicate your commitment to making this a reality. - Use http://j.mp/whyPython2016 to motivate your students to learn the language really well

  2. Review the entries for Lab1, Lab6, and Lab7.

  3. To have a first draft of all the solution keys for the Lab exercises by end of the day. - If possible, provide test cases through a CyberDojo session link (like the one for http://10.100.8.8/kata/edit/3BAD00470A?avatar=hyena ). - Come up with Pre-lab and Post-lab questions for each of them.

  4. Ask for help in specific areas that you are not familiar with in the Theory syllabus. Ramya can provide training in those specific areas.

  5. Solve the CloudCoder exercises related to the labs - ask for help if you are not able to solve them. Ramya to provide the list.

Action Items

  1. Divide up yourself in pairs to tackle the Lab Exercises (other than Lab1, Lab6 and Lab7). Contributions to improve the existing material for Lab1, Lab6 and Lab7, if any, can be made after the other labs have been completed

  2. Ramya will add your submissions as and when they are ready to the repo. It is preferable to make your contributions in Markdown (https://daringfireball.net/projects/markdown/syntax) to the repository. However, for the time being, you may provide Word/ASCII versions generated from whichever editor you are comfortable with.

FDP Notes - Day 1

Be an active member of the Python community

  • Github Account creation - http://www.github.com

  • Gitter Room - http://bit.ly/gitterPy

Play with the language

  • Online Python interpreter - http://repl.it

  • Python inbuilt function documentation - http://j.mp/pythonDoc

Manual preparation

  • Manual contribution - http://j.mp/lab3003

  • Guidelines for making Lab manual contributions - http://j.mp/guideKG

Single Stepping through a Program

  • Python Visualizer - http://pythontutor.com - to thoroughly understand at a personal level what the code is doing, statement by statement

  • Example code for Greatest of three numbers - http://j.mp/greatestKG

Incremental style of teaching / learning

http://cyberdojo1.kgfsl.com/kata/edit/3BAD00470A?avatar=hyena - for GCD

Summary: Problem solving and Programming

  • The whole course is about problem solving. What is not mentioned in the curriculum of the syllabus is a method to teach students using which they can do problem solving.

  • Incremental way of arriving at the solution is arguably the only teachable and learnable technique for problem solving, most definitely at the fundamental level. To do this effectively you have to simplify the problem and convey the simplified solution for the simple problem. And then progressively progress towards the complete problem and the complete solution. When this is done in a proper manner, even the most challenged student will be able to think a little bit for himself and the most high performing student will have learnt a new technique, in addition to his capacity to memorize and vomit in the paper.

  • Most importantly by adopting this method you are able to engage every student in your classroom to learn problem solving and programming.

  • Whether you are able to use this technique in your classroom or not, you as a faculty member must be aware of this technique so you adopt it to improve your own capacity to learn programming, and therefore better equipped to empower your students with the same.

The FAC Challenge

The Faculty Algorithmic Challenge:

  1. Choose an algorithm of your choice.

    • For inspiration review http://j.mp/htmlFAC

  2. Register with Lanitha on what your choice is.

  3. Set a deadline for making a presentation on the challenge

    - how it works
    - What is the real-world application of the algorithm
    - Present the material in an engaging manner using <20 slide PPT in no

    more than 6 minutes

Misc

Last updated