101 Linux: intro (10h)
Introduction of *nix family. File-system Hierarchy Standard and Implementation. Process Management, System Call and Errors. Basic tool-set for developers.
- Prerequisite: Operating System
- Say hello to the shell (1h)
- know your system
- package manager
- getting help
- file-system (1h)
- CRUD operation
- hierarchy
- types of files
- find
- access management (2h)
- text processing (5h)
- manipulation
- regular expression
- system (1h)
- reference
- 1. Stallings, Operating Systems, Internals and Design Principles
- 2. A. S. Tanenbum, Modern Operating Systems, Pearson
- 3. M. J. Bach, The Design of the UNIX operating system
- 4. Eric S. Raymond, The Art of UNIX Programming
101 Python: intro (25h)
Introduction to python and comprehensive account of design and philosophy, structure and construct; using of an interpreter for experimentation or just as the handy calculator; basic programming and scripting, use of modules for rapid interactive development.
- Prerequisite:
- Basic Programming in C
- Basic Mathematics
- introduction (10h)
- python interpreter
- variable and operators
- flow control
- sequence
- loops
- getting started
- exercises
- basics (15h)
- scripts and modules
- getting help
- FILE I/O
- function
- arguments
- lambda functions
- scope
- reference
- 1. Mark Lutz, Learning Python
102 Python: not so basic (10h)
Python Implementation as Higher-level Languages and Programming Paradigm. Introduction beyond the fundamental data types and their application.
- Prerequisite
- 101 Python: Intro
- Object-Oriented Programming
- Primer (6h)
- Sets and Dictionaries (2h)
- Iterator and Generators (1h)
- Map, filter, reduce
- Exception handling (1h)
- Decorators (2h)
- Object-Oriented Programming (4h)
- Class and Object (2h)
- Encapsulation
- Class members
- Inheritance (2h)
- Reference
- 1. R. W. Sebesta, Concepts of Programming Languages
- 2. Mark Lutz, Programming Python
201 Linux: www (15h)
How world wide web works and Using Web as data resources. Accessing web APIs and processing scraped data. Different data interchange formats HTML, XML, JSON.
- Prerequisite
- Computer Networks
- Web Technologies
- 101 Python: Intro
- Background (2h)
- Domain Name System (DNS)
- Trace
- HTTP/HTML works (9h)
- Request and Response (1h)
- Web data handling and encoding (4h)
- DOM parser
- Exercises (4h)
- Servers (4h)
- Simple HTTP server
- Exercises
- Reference
- 1. Behrouz A. Forouzan & Sophia Chung Fegan, Data communications and networking
101 Code Management (4h)
Managing python projects with version control and virtual environment.
- Prerequisite:
- 3rd party packages (3h)
- Virtual Environment
- PyPI
- Anaconda, Conda, Venv
- Version control (2h)
- Introduction
- Diff & Patch
- Intro to git
- Git Vs Other
- Basic
- Workflow
- Reference
- 1. Jon Loeliger, Version control with Git
- 2. Mark Lutz, Programming Python
202 Web: application (20h)
Introduction to Common Gateway Interfaces. A server application to construction dynamic web page. RESTful services, and methods.
- Prerequisite
- Computer Networks
- Database
- 101 Linux: Intro
- 101 Python: Intro
- Background (2h)
- CGI
- CGI-bin
- Request parsing
- Templating
- RESTful design
- Frameworks (18h)
- Bottle
- Routes
- Templates
- Static assets
- Database Integration
- Web API
- Bottle, Django, Flask
- Reference
- 1. Miguel Grinberg, Flask Web Development
- 2. Behrouz A. Forouzan & Sophia Chung Fegan, Data communications and networking
- 3. Leonard Richardson & Sam Ruby, RESTful web services