You could learn coding using a system programming language, web programming language, modern SQL based database, a modern NoSQL database, virtualization technology, cloud computing, mobile application development, software development lifecycle including version control systems, bug management, source code review systems, continious integration systems and allied tools.
You could learn graphic processing applications like Inkscape or Krita (for Vector Graphics), Gimp (raster graphics), Blender, Natron, PovRay, etc. for 3d graphics and compositing, AviDemux, OpenShot, Cinelerra, Kdenlive, etc for video processing, hydrogen, audacity, etc., for audio processing and synthesis
You could learn Python, R for mathematical and statistical processing, GNUOctave and Scilab for other numerical processing. It's also worthwhile to explore Processing.
- What is distributed version control system?
- Why do we need version control system?
- What are the different version control systems available?
- Why GIT?
- Python basic rules
- Interpreter
- Python shell
- Scripting
- Datatypes, Operators, operands, etc.
- Basic math
- String manipulation
- Lists, Tuples, dicts
- Conditionals and looping
- Functions
- Classes
- Generators
- API Programming (AWS, REST)
- Database concepts
- Adding, removing databases, tables
- Inserting, Querying, updating rows
- Sharding, replication
- Foreign keys
- Triggers and functions
- MongoDB concepts
- Document database concepts
- Sharding
- Replication
- Clusters and schemes
- Native application development (Java based).
- Hybrid application development (Native + Web based HTML + CSS + JS)