Insight Workshop Academy

We train engineers to build great software

Apply Now

About the program

IW Academy was founded on the conviction that top software talent can be developed anywhere. By combining practical curriculum with experienced practitioners from Kathmandu, Silicon Valley & Europe, we prepare all-rounded developers in Nepal who can be part of high-performing distributed engineering teams globally.

Software engineering requires more than just knowing how to code - it’s about building solutions that make a difference. Over the 12-week program, developers learn not only to code like a professional but also to think and solve problems like a leader.

Our class size is small and supplemented with team collaborations, interactive labs, guest lectures, and real-world problem-solving exercises. Students get to complete modules with an array of small/medium projects following by a final capstone product. Upon graduation, our students will be ready to start their career as software engineers with best-in-class technical and professional skills.

To learn more about the program, please get in touch.

Details

Time
Starts in Feb 16, 2021
Duration
12 Weeks
Apply before
Feb 7, 2021
Course Type
On-Site (Total Seats: 10)
Fees
NRs. 20,000 (Up to 50% refund after graduation)
Apply Now

Course Curriculum Outline

We have divided course curriculum into following modules.

  • The Big Picture: Software Engineering

    This module aims to provide fundamental concepts in the software development ecosystem. It includes a basic introduction to tools and technologies along with various roles that engineers have: full-stack development, quality assurance & devops.

    • Brief introduction to full-stack development.
    • Day in the life of a Software Engineer.
    • How does a typical development process look?
    • How is source code maintained?
      • Git workflow, Bitbucket or Github.
    • Everyday tools and technologies?
      • IDE, MVC Frameworks, Jira, Slack, Postman.
    • How do we code?
      • Technology stacks: Django, Angular, HTML, CSS, JS and etc.
      • Internet resources: StackOverflow, Github, Google.
      • Introduction to Build tools: Gulp, npm, etc.
    • Introduction to web fundamentals and how the web works?
      • HTTP, Chrome/Firefox debugging, Resource sharing in the web.
    • Deployment fundamentals?
      • Virtual Servers, Serverless, AWS, EC2 & Elastic IP.
      • Nginx server.
    • Introduction to API with real-world use cases in:
    Outcomes
    • Understanding software lifecycle.
    • Understanding software tools & technologies.
    • Build a simple app using HTML, CSS & JS.
    Projects
    Estimated duration
    1 week
    Lectures
    4 Hrs
    Guest Lecture
    1 Hr
  • Fundamentals of Web Development

    This module aims to build on the basic concepts to learn Python. It uses the ideas from the previous modules especially version control, project management & devops.

    • HTML fundamentals
    • Designs with CSS
    • Introduction to JS and ES6
    Projects
    Estimated duration
    2 weeks
    Lectures
    8 Hrs
    Guest Lectures
    1 Hr
  • Python programming

    This module aims to build basic concepts to learn Python. It uses the ideas from the previous modules, especially version control, project management.

    • Programming in Python
      • Basics: data structure, variables, loops, conditions, functions, comprehensions.
      • Advanced: generator, decorator and object-oriented programming.
      • Debugging, testing and logging basics.
      • File, CSV, JSON processing and Exception handling.
      • Python Style Guide / PEP
      • Writing Tests in Python
    • Interfacing database with Python
      • Introduction to database systems: MySQL, Postgres, SQLite, RDS, Redshift.
      • Installing MySQL or Postgres.
    • Python package management
      • Virtualenv, pip.
      • Installing and using third-party packages.
      • PyPI.

    By the end of this module, trainee will get basics of python. Those who are already familiar with python , they will be engaged more to python through complex project assigned to them while beginner will go with the flow of basics.

    Outcomes
    • Good knowledge of Python language and its ecosystem.
    Projects
    Estimated duration
    2 weeks
    Lecturers
    8 Hrs
    Guest Lectures
    1 Hr
  • Backend Framework: Django

    This module will introduce the use of Django framework in Python for web development. It includes setting up the framework, basic CRUD operations, authentication & other core elements of Django.

    • Introduction to Django framework
    • Setting up a project
    • Django built-in commands
    • Django architecture (MVT pattern)
    • Models in Django
    • Django Admin Site
    • Create a web application with CRUD functionality:
      • Class-based views and Function-based view.
      • Queries and Queryset with interfacing with DBMS (MySQL or Postgres).
      • Add front-end elements.
      • Django forms and Ajaxifying forms.
    • Authentication and security
    • Sending emails from Django
    • Custom Middlewares
    • Data Caching in Django
    • Writing unit tests.
    Outcomes
    • Basic knowledge of Django web framework.
    • Build a Django web application that includes: database, template & front-end elements.
    • Deploy the app to a server.
    Projects
    Estimated duration
    3 weeks
    Lectures
    12 Hrs
    Guest Lectures
    1 Hr
  • Django REST framework

    This module will introduce REST framework in Django. It includes building a complex web application using advanced Django concepts.

    • Introduction to DRF and its flow
    • Serializers
    • Generic views
    • Viewsets
    • API Authentication and Permissions
    • Using API in a web application
    Outcomes
    • Basic knowledge of Django REST framework
    • Build a Django web application that communicates using APIs
    • Deploy the app to a server
    Projects
    Estimated duration
    1 week
    Lectures
    4 Hrs
    Guest Lectures
    1 Hr
  • Frontend Library: React

    This module will introduce React.js as a Frontend library to create a single page application.

    • Basic: Introduction, create-react-app cli.
    • Advanced: Component States, Lifecycle and Hooks, JSX and Event bindings.
    • API integrations and data management with React.js.
    Outcomes
    • Basic knowledge of React.
    • Use React in a web application.
    • Deploy the app to a server.
    Projects
    Estimated duration
    1 week
    Lectures
    4 Hrs
    Guest Lectures
    1 Hr
  • Capstone Project: Final Project

    During these final weeks, you will create a final project which includes every concept from the previous modules.

    Estimated duration
    2 weeks

Instructors

Shrawan Poudel Principal Software Engineer

Shrawan is a Principal Software Engineer at Insight Workshop. He has been involved in multiple large-scale international projects with experience handling front-end web development, back-end programming, and database management.

Nabin Paudyal Software Engineer

Nabin is a Software Engineer at Insight Workshop with expertise in Python, Django and Django REST Framework. He has been involved as a full-time developer in the internal projects of IW handling core backend and database management.

Testimonials

Frequently Asked Questions

  1. What is the goal of the course?

    The goal is to train you to become a great all-rounded software engineer.

  2. What should we expect in the course?

    The course will train you on technical knowledge along with soft skills. We want you to have an overall knowledge of software engineering with skills to work on production-grade codebases. The course will also heavily involve teamwork, communication, and agile software planning. You should be prepared to code heavily, work on many projects and collaborate as a team.

  3. I know basic programming. Will this course be helpful to me?

    Absolutely! This course is perfect for someone who knows basic or intermediate programming. We are only taking in students who have a programming background.

  4. Are you taking students who don’t have a programming background?

    Unfortunately, the course is designed for students who have a prior programming background.

  5. How many students will be selected for each batch?

    Each batch will have 12 students.

  6. How are the students selected?

    Because of our batch size and the anticipated number of applicants, we will have to be highly selective. The selection process includes in-person interviews and tests.

  7. How long is the duration of the course?

    The course lasts 12 weeks. First 8 weeks will be a combination of lectures & lab exercises. In the last 4 weeks, the students will be working on a real-world capstone product.

  8. Is the course onsite or online?

    We will work with each student very closely during the program. Hence, it is mandatory to be for our students to be present for the duration of the course. The office is easily accessible and close to all public transportation.

  9. How much is the cost to enroll in the course?

    The cost is NRs. 20,000 for the duration of 12 weeks.

  10. Do you really refund the cost after the end of the course?

    Yes! We will refund up to 50% based on your performance during 12 weeks.

  11. Why are you refunding the cost? Are you not in a business?

    We do not plan to earn or profit from our Academy. Our goal is to create top-notch engineers from the software engineering program. We just want to make sure that the people we take in for the course are serious and committed, just like us.

    Full disclosure: We might approach a few candidates from the program to join Insight Workshop as a full-time employee after the course.

  12. Tell us more about the teaching staff.

    The lectures and labs are conducted by industry professionals who also have experience in teaching. These are senior-level engineers who have worked on various large-scale software projects. They have trained many interns to become successful developers in the past.

  13. What is the schedule of the classes?

    The program is a full-time commitment. The tentative schedule of the classes is Monday to Friday, 10:00a to 4:00p NST. Attendance is mandatory.

Application Form

We accept pdf file only.

Links

Undergraduate / Bachelor's Information