Python programming. Advanced

e-Learning group/community All Groups Join the group

Challenges (6)
Learning steps
About the group
Information & Summary
Resources (4)
Courses (1)
Members (23)

In the group we will learn the Advanced Python programming. Members of the group must have some expierience in the Python programming or in other languages, understand basics of programming and algorithms.

There is the other group for python beginners. The group starts on 25 May

How to use the Groups tool for learning, more about Groups tool. Your ideas about our learning post there .

Upcoming Events

Challenges View all 6 challenges

Completed: 1 (%4), Skipped: 0 (%0)
2
0
0

We need a project that we can do together and try on it different popular techniques and methods of python developing.

We need to train on:

  • object-oriented programming
  • code sharing between applications and team members
  • different GUI (command line, desktop, web)
  • client server applications
  • different frameworks (not just Django etc)
  • different types of web APIs (REST, SOAP etc)
  • "good practices" and patterns for web developement (MVC etc)
  • design patterns

Suggest your ideas in a report for this challenge. 

It must be some interesting but small task to play around it. We can not buid a big project now.

Completed: 0 (%0), Skipped: 0 (%0)
0
0
0

After you learned basics of the Python programming you can start to code some bigger, more serious applications. And you need to know what is good way to organize the code, manage components etc.

Good way to know this is to learn some good big applications code as an example.

In this challenge, search in web for different Python applications . For example this directory. And choose one (or more) app to review. Download apps and review the code. Try to understand how an app is organized. How components, modules are used .

In the report for the challenge post what did you learn, what project reviewed.

Completed: 0 (%0), Skipped: 0 (%0)
2
0
0

Before start to do somethign serious, it is needed to learn "best practices" of Python programming.

Search the web and find good articles, manuals, documents on best practices of the Python programming.

In a report describe what did you find to share with all other.

Completed: 0 (%0), Skipped: 0 (%0)
0
0
0

We need an example to learn different Python methods and technologies on it.

The good example is the game "Tic-tac-toe".

So the next task (challenge) is to create this game with Python.

Requirements are simple:

  • User interface doesn't matter, best is to use the command line interface
  • the game must support 2 modes - "human vs human" and "human vs computer" 

No any other requirements. Just do the working progmar and publish it in the report.

Use the http://pastebin.com/ service to publish your code, add a link in the report.

In next challenges we will improve our realisations of this game, will do different GUIs , APIs, Client-Server realisations etc.

For now just do the simplest implementation.  

Completed: 0 (%0), Skipped: 0 (%0)
0
0
0

Before we leraned "best practices" and trained to work in a group each of us has own "programming style". Someone forget to check for exceptions, someone has not readable code etc.

 

We need to review a code from previous challenge posted by other members and analyze it.

 

In a report for this challenge write what reports from previous challenge did you check and what interesting did you find in them. What would you correct.  

Completed: 0 (%0), Skipped: 0 (%0)
0
0
0

Next step is to modify our game created with Python to be able to share the logic of the game with other members/projects.

Our initial program , most probably, was created as one py file with using functions. Someone "experienced" could use classes.

Now we all will modify our program with using classes.

 

The task.

Modufy your Tic-tac-tou program to split the login and a user interface.

Create 2 classes as separate modules.

One is Tictaktou class. It has  logic of the game. It contains a state of a game, checks for a vinner etc. It doesn't print something. 

The second class is PCGamer. It contsins a logic of a computer player. It is used only in a mode "Human vs Computer". This class uses Tictaktou class to do moves.

And the 3-rd (main) script implements a user interface, an interface can be same as before (command line etc) 

Discussions

-- no discussions in this group yet --

Go to the Forum/Discussion board to start a new discussion

Resources View all 4 resources

0
  • Simplify design pattern implementation using the power of Python
  • Each pattern is accompanied with a real-world example demonstrating its key features
  • This is an easy-to-follow guide focusing on the practical aspects of Python design patterns

This book is for Python programmers with an intermediate background and an interest in design patterns implemented in idiomatic Python. Programmers of other languages who are interested in Python can also benefit from this book, but it would be better if they first read some introductory materials that explain how things are done in Python.

0

You’ve learned the basics of Python, but how do you take your skills to the next stage? Even if you know enough to be productive, there are a number of features that can take you to the next level in Python. Pro Python, Second Edition explores concepts and features normally left to experimentation, allowing you to be even more productive and creative.

0

Portable, powerful, and a breeze to use, Python is the popular open source object-oriented programming language used for both standalone programs and scripting applications. It is now being used by an increasing number of major organizations, including NASA and Google.Updated for Python 2.4, The Python Cookbook

0

The Python Standard Library contains hundreds of modules for interacting with the operating system, interpreter, and Internet - all extensively tested and ready to jump-start your application development. The Python Standard Library by Example introduces virtually every important area of the Python 2.7 library through concise, stand-alone source code/output examples, designed for easy learning and reuse.

Building on his popular Python Module of the Week blog series, author and Python expert Doug Hellmann focuses on "showing" not "telling". He explains code behavior through downloadable examples that fully demonstrate each feature.

Courses

Recommended online courses and MOOC. If you have suggestions discuss them in the Forum

Top Active Members