Introduction to Professional Software Development

Difficulty: ⭐️

Description

This course is your entry point into the world of professional software development. Get started in programming with one of the two most popular programming languages (Python and Javascript), learn source control using Git, how to prepare software documentation, basic testing and setting up your personal development environment.

No previous experience is required. This course aims to prepare you with the knowledge and skills you need to start your own projects or a career change, following the best practices of professional software developers worldwide.

By the end of this course, students will achieve:

  • Acquire basic-intermediate programming and problem-solving skills in Python or Javascript
  • Understand and know how to use GIT for version control (CLI and GUI)
  • Know how to set-up a personal development environment and workflow
  • Be able to write and publish software documentation
  • Be able to design and execute unit tests for their programs
  • Use continuous integration tools to automate code testing and monitoring
  • Be familiar with online knowledge bases for troubleshooting and technical reference

Curriculum For This Course

      1. Programming
      2. Programming as a Professional
      3. Set course goals for the participants: choose a mini-project.
      4. Start with programming language online learning
      5. Programming exercises
      1. Programming
      2. Programming as a Professional
      3. Set course goals for the participants: choose a mini-project.
      4. Start with programming language online learning
      5. Programming exercises
      1. Why we need version control
      2. Introduction to Git
      3. Create and manage a code repository on Github
      4. CLI and GUI tools for Git
      5. Integrate Git version control in our programming exercises
      1. Why we need version control
      2. Introduction to Git
      3. Create and manage a code repository on Github
      4. CLI and GUI tools for Git
      5. Integrate Git version control in our programming exercises
      1. Importance of IDEs
      2. Introduction to Visual Studio Code
      3. GIT + SyntaxLint Plugins for Visual Studio Code
      4. Integrate development workflow in our programming exercises
      1. Importance of IDEs
      2. Introduction to Visual Studio Code
      3. GIT + SyntaxLint Plugins for Visual Studio Code
      4. Integrate development workflow in our programming exercises
      1. Importance of code repositories in the software world
      2. Code Quality: Fundamentals and Discipline
      3. Writing a comprehensive project README
      4. Create API documentations: manual and automatic tools
      5. Integrate code quality principles in our programming exercises
      1. Importance of code repositories in the software world
      2. Code Quality: Fundamentals and Discipline
      3. Writing a comprehensive project README
      4. Create API documentations: manual and automatic tools
      5. Integrate code quality principles in our programming exercises
      1. Importance of Software Testing and different types of testing
      2. Design and execute unit tests
      3. Continuous Integration and CircleCI
      4. Integrate unit testing with our code repository using CircleCI (passing/failing badge)
      1. Importance of Software Testing and different types of testing
      2. Design and execute unit tests
      3. Continuous Integration and CircleCI
      4. Integrate unit testing with our code repository using CircleCI (passing/failing badge)
      1. General review of questions and discussion
      2. Finalization of student projects
      3. Presentation of student projects
      1. General review of questions and discussion
      2. Finalization of student projects
      3. Presentation of student projects

UPCOMING COURSES/WORKSHOPS

Group name Start date Session duration Number of sessions Standard price

LOOKING FOR OTHER OPTIONS?

Below are the courses that you may want to take after this course:

FEATURED MENTOR

Victor TorresVictor

Victor is a Full Stack System Engineer with a passion for building, creating and helping others do the same. Victor has a diverse experience background, with a focus on management of cloud infrastructures and building backend systems that support mobile and web applications used by thousands of people. A teacher by vocation, Victor has experience teaching science subjects to high-school students and as a teaching assistant in undergraduate level. Victor is an engineering graduate of the Tokyo Institute of Technology, and is interested in all things Tech.