Django Unchained: An Introduction to Python and Django
Shah Warraich (Software Engineer - MarketIQ)
Nahim Nasser (Software Engineer - BNOTIONS)
News and Announcements
The course has ended --- A reboot of the series will be starting in the coming weeks. Stay tuned for updates
- Location: BNOTIONS ( www.bnotions.com ) / The YMC ( www.theymc.com )
- Date: Thursdays
- Time: 6:30pm - 8pm (1.5HR)
- Cost: Free
Participants will leave this session with an understanding of pythonic principles, django's architecture, and good programming practices.
By the end of the series, participants will have created a fully functioning django web application, and should have a background on the capability and potential of the both python and django.
- Participants should be familiar with object-oriented programming.
- Code editor (I use Sublime Text 2, but feel free to use whatever you like)
- Web browser
- Python 2.7
- Terminal (Mac) or Powershell (Windows)
A computer / laptop able to run a modern web browser (Chrome, Firefox, Opera, Safari, IE9+), and a code editor (ie. Sublime, Notepad++, Eclipse, Pycharm, etc).
Session 1: Intro to Python
This session will discuss pythonic syntax, structure, and principles. Useful built-in functions, and data structures critical for use with django will be covered. We will be using the python interactive interpreter for a portion of this lesson.
- Intro to Python: Why Python?
- Data Structures: Strings, Integers, Floats, Dictionaries, Lists, Tuples, Sets. Talk about differences and use cases.
- Statements and Functions: if, while, for, lambda, filter, sorted, map, dir, help, pdb
Session 2: Django's architecture, design, and principles
A high level overview of the various components in a django web application, and how they interoperate with each other. Django's MVC architecture will be broken down. Django's design philosophies will also be discussed.
Session 3: Building a django application Part One
An interactive session where we will build a fully functioning django application. We will walk through the tutorial presented on https://docs.djangoproject.com/en/1.4/intro/tutorial01/. It is very well documented and will familiarize the student with the djangoproject website for future use. We will go over part 1 and part 2 in this session. This will cover core concepts on setting up a project, implementing models and utilizing the admin functionality.
Session 4: Building a django application Part Two
Part 3 and 4 will be presented in this session. We will cover views and templates here. After this session the student should be equipped with all the basic skills to set up a website.
Session 5: Craftsmanship
Core elements will be reviewed as students will attempt at building features for a website. They can choose from a pre-selected set of tasks or decide on something themselves. Students will present in front of the class and have their code ripped apart.
Session 6: Natural Language Processing with Python
Fundamental concepts of natural language processing will be discussed. We will build a basic spam filter using Pythons NLTK library.
Session 7: Scalability with Django
Database and server architectures that allow for scalability will be presented.