|Technical Skills for Computer Engineers-IV||Learning Schedule|
|Pre-requisites: Programming Language||0||0||2||1|
- use Python interactively
- execute a Python script at the shell prompt
- use Python types, expressions, and None
- use string literals and string type
- use Python statements (if…elif..else, for, pass, continue, . . . )
- understand the difference between expressions and statements
- understand assignment semantics
- write and call a simple function
- utilize high-level data types such as lists and dictionaries
- understand the difference between mutable and immutable types
- write a simple class and access methods and attributes
- import and utilize a module • read from and write to a text file
- understand interpreter and compilers: CPython, PyPy, Cython
- see demonstration of IDE’s: IDLE, IPython, IPython Notebook, hosted environments
- understand the role of package managers: easy_install, pip
- understand what NumPy does and what SciPy is (are?)
- learn about resources for learning Python3
Python is a popular, general-purpose, multi-paradigm, open-source, scripting language. It is designed to emphasize code readability – has a clean syntax with high level data types. It is the need of B.Tech Students and helpful to build a career.
Unit I: Introduction to Python. An introduction to the Python programming language. Covers details of how to start and stop the interpreter and write programs. Introduces Python’s basic datatypes, files, functions, and error handling.
Working with Data. A detailed tour of how to represent and work with data in Python. Covers tuples, lists, dictionaries, and sets. Students will also learn how to effectively use Python’s very powerful list processing primitives such as list comprehensions. Finally, this section covers critical aspects of Python’s underlying object model including variables, reference counting, copying, and type checking.
Unit- II : Program Organization and Functions. More information about how to organize larger programs into functions. A major focus of this section is on how to design functions that are reliable and can be easily reused in other settings. Also covers technical details of functions including scoping rules and documentation strings.
Modules and Libraries. How to organize programs into modules and details on using modules as a tool for creating extensible programs. Concludes with a tour of some of the most commonly used library modules including those related to system administration, text processing, subprocesses, XML parsing, binary data handling, and databases. Also includes information on how to install third-party library modules.
Unit III : Classes and Objects. An introduction to object-oriented programming in Python. Describes how to create new objects, overload operators, and utilize Python special methods. Also covers basic principles of object oriented programming including inheritance and composition.
Inside the Python Object System. A detailed look at how objects are implemented in Python. Major topics include object representation, attribute binding, inheritance, memory management, and special properties of classes including properties, slots, and private attributes.
Unit IV : Testing, Debugging, and Software Development Practice. This section discusses many isses that are considered important to Python software development. This includes effective use of documentation strings, program testing using both the doctest and unittest modules, and effective use of assertions. The Python debugger and profiler are also described.
Iterators and Generators. Covers the iteration protocol, iterable objects, generators and generator expressions. A major focus of this section concerns the use of generators to set up data processing pipelines–a particularly effective technique for addressing a wide variety of common systems programming problems (e.g., processing large datafiles, handling infinite data streams, etc.).
Text I/O Handling. More information on text-based I/O. Topics include text generation, template strings, and Unicode.
Some Advanced Topics. A variety of more advanced programming topics including variable argument functions, anonymous functions (lambda), closures, decorators, static and class methods, and packages.
Python Integration Primer. A survey of how Python is able to interact with programs written in other programming languages. Topics include network programming, accessing C code, COM extensions, Jython, and IronPython.
- Learning to Program Using Python by Cody Jackson
- Python for complete beginners by Dr. Martin Jones
- Fundamentals of Python: First Programs by Ken Lambert
- Learning Python, 5th Edition by Mark Lutz, O’Reilly Media.
- Easy GUI Programming in Python by Ken Lambert
- The Practice of Computing Using Pythonby Bill Punch and Rich Enbody