This collection covers a learning path for Basics of Programming. It covers acitivities around topics that are essential to learn basics of programming in Python.
Note: The content is designed based on Facilitated Learning method. Facilitated learning is an educational method where the students are encouraged to take more control of their learning process. The role of the coach (teacher) is more a learning facilitator, i.e. organising and providing resources to learners.
Programming Elements: In Arch One the following programming elements are covered:
- primitive data types: character, string, integer, float and boolean.
- basic numerical operations: + , - , * , / , %
- simple user inputs and print formats.
- boolean expressions and conditional statements: if-else statements
- loops: while and for.
- string processing: length, split, join, replace, join.
- basic of functions: defining and calling functions, return of a function, functions with arguments.
As a result of participating in BaseCamp:Arch One, students will be able to:
- Read, Understand and Analyze the behaviour of a Python program implementing the programming elements covered in Arch One.
- Implement their solutions for a given problem statement using the programming elements covered in Arch One.
- Implementing their Python programs in Python Shell and an IDE.
- Execute Python programs using a terminal and an IDE.
This Arch is constructed in the following weeks:
- Week01: Linear Programs
- Week02: Branching Programs, Functions
- Week03: Iterative Programs
- Week04: Review and Challenge
Programming Elements: In Arch Two the following programming elements are covered:
- functions (more): positional arguments, keyword arguments, parameters default values, docstrings, anonymous functions.
- collective structures: lists with basic operations (defining, offset, slicing, adding new element, modifying an element, list comprehension), tuples with basic operations (creating, unpacking, modifying, combining two tuples, iterating over a tuple), dictionaries with basic operations (creating, adding and modifying items, extracting value(s), extracting key(s), deleting, pop and clear, iteration over dictionaries), sets with basic operations (creating sets, adding and removing elelemnts, membership operator, iteration over a set, basic operations between sets, i.e. intersection, union, difference and subset), copy(), deepcopy(), nested structures.
As a result of participating in BaseCamp: Arch Two, students will be able to:
- Read, Understand and Analyze the behaviour of a Python program implementing the programming elements covered in Arch Two.
- Implement their solutions for a given problem statement using functions, list, tuple, set, and ditionaries.
- Debug and apply basics of testing (input / output and acceptance testing) on a given Python program.
This Arch is constructed in the following weeks:
- Week05: Functions, Lists and Tuples
- Week06: Functions, Dictionaries and Sets
- Week07: Functions and Nested Structures
- Week08: Review and Challenge
Programming Elements: In Arch Three the following programming elements are covered:
- objects and classes: defining a class, instantiating an object, attributes and methods, initializing an object.
- plain data files: encoding / decoding, ascii and utf-8 encodings, binary vs text files, reading / modifying / wrting binary / text data files, searching content.
- structured data files: reading / writing content from / to CSV / JSON files, processing / modifying content of CSV / JSON files.
As a result of participating in BaseCamp: Arch Three, students will be able to:
- Read, Understand and Analyze the behaviour of a Python program implementing the programming elements covered in Arch Three.
- Implement their solutions for a given problem statement employing Python class.
- Implement Python solutions to process and manipulate data provided as files (plain text, JSON and csv).
- Apply basics of unit testing on a given Python program.
This Arch is constructed in the following weeks:
- Week09: Everything is an Object
- Week10: (Plain) Data Files
- Week11: Structured Data Files
- Week12: Review and Challenge
Programming Elements: In Arch Four the following programming elements are covered:
- (basics of) databases using SQLite and simple queries: CREATE, INSERT, DELETE, UPDATE, SELECT x,y,z FROM t WHERE c.
- functions as parameters, generators and decorators.
- recursive functions.
As a result of participating in BaseCamp: Arch Four, students will be able to:
- Read, Understand and Analyze the behaviour of a Python program implementing the programming elements covered in Arch Four.
- Implement Python solutions to process and manipulate data provided in a simple database (SQLite).
This Arch is constructed in the following weeks:
- Week13: Database - basics
- Week14: Database - extended
- Week15: Functions: Higher Order & Recursion
- Week16: Review and Challenge
- Bill Lubanovic; "Introducing Python: Modern Computing in Simple Packages"; Check here
- Brian Heinold; "A Practical Introduction to Python Programming" Available Online, Check here.
- Solutions to the exercises are available here.
- Ben Stephenson; "The Python Workbook: A Brief Introduction with Exercises and Solutions" Check here
- Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers; How to Think Like a Computer ScientistCheck here
- CS Principles: Big Ideas in Programming Check here
- Fernando Doglio; "Skills of a Successful Software Engineer" Check here
- Felienne Hermans; "The Programmer's Brain: What Every Programmer Needs to Know about Cognition" Check here
- David Allen, Tina Blythe; "Facilitating for Learning: Tools for Teacher Groups of All Kinds". Check here
- Margaret Crockett, Janet Foster; "Training the Trainer Resource Pack" Check here