When you finally understand what you are doing, things will go right.
– Bill Fairbank
Review
You've learned how to
- use Linux and the Bash shell
- create small programs using Python 3
- apply the basics of functional programming
- read and use object oriented source code
- understand and implement simple algorithms
- get started with PuLP and pandas
- independently acquire new knowledge as needed
As a programmer you must acquire the habit of seeking out new information [...] "Look it up" is a perfectly reasonable answer to many problems, and as your skills grow and mature, it will more and more often be the answer.
– Bjarne Stroustrup
Outlook
- Main programming topics we didn't cover
- Coding standards and Pythonic code
- Python 2
- Other programming languages
- Learn new languages as you need them...
- Using a debugger
- Python provides pdb for stepwise execution and inspection
- Use gdb for debugging C++ code
- To detect memory leaks, valgrind will be your best friend
- GUI programming and using web frameworks (eg. Django or Flask)
- Advanced programming techniques
- Threads and parallelization
- Object oriented design
- Regular Expressions
- Generators and iterators
- Function decorators
- Dynamic programming and memoization
- Databases and object relational mappers
- Security
- ... and many, many more
- Python's standard library, STL, Boost, ...
- Take time to know, but save time in the end
- Occasionally it's faster to develop a small solution yourself though...
If in doubt, check, experiment! Don't just despair and don't just read the documentation.
– Bjarne Stroustrup
Where to go from here...
- Read great books about programming
- Join your local communities
- Improve your skills in real-life projects
- Stay in contact and let others know about your skills
- Find great jobs
- Please evaluate this course
- Let others know what to expect
- Allow continuous improvement with your feedback
You've come a long way.
But the more you code, the more you need to learn about algorithms, programming techniques and related tools.
Thank you for taking this class and good luck!