Skip to content

Python Neural Networks from Scratch

About

  • Level: Intermediate to Advanced
  • Lectures: 20 hours
  • Self-study: 10 hours
  • Exercises: 20
  • Lines of Code to write: ~300
  • Format: e-learning + weekly online teleconference with instructor
  • Language: English or Polish

Description

This hands-on course walks students through building neural networks from scratch in Python by following the syllabus from forward propagation to practical projects. Through focused modules on neuron models, activation functions, forward propagation, backpropagation and gradient computation, optimization techniques, and full network training loops, participants will implement training pipelines, visualize learning dynamics, and tune models for real datasets. The final project consolidates skills by having students build, train, and evaluate their own neural network end-to-end.

Advantages

Participants gain a deep, intuitive understanding of how neural networks learn, which improves their ability to debug, optimize, and explain models compared with using high-level libraries alone. The course strengthens practical skills in implementing training loops, choosing loss and optimization strategies, validating models, and visualizing results — skills that transfer to research, production, and data-science workflows.

Target Audience

  • Data scientists and machine learning practitioners who want to understand and implement neural networks from first principles.
  • Software developers and engineers seeking practical skills to build and debug custom models without relying solely on high-level libraries.
  • Advanced students and researchers interested in the mathematical and implementation details of neural networks and optimization.
  • Data analysts who want to learn model validation, visualization, and result analysis to improve data-driven decisions.
  • Anyone with intermediate Python and linear algebra knowledge aiming to gain hands-on, production-applicable neural network skills.

Format

The course is delivered as a blended learning experience, comprising numerous short videos that progressively introduce concepts and techniques through a series of practical examples. The course format combines e-learning modules with weekly online teleconferences with the instructor for Q&A, discussions, and code reviews.

During the self-study phase, students complete practical exercises that apply the learned techniques. Each exercise is designed to have 100% test coverage, allowing students to verify their solutions. Additionally, students will have access to a spreadsheet to track their progress.

Students will also receive downloadable resources, including code samples, exercise templates, and reference materials to support their learning journey. Since 2015, we have refined our materials based on student feedback to ensure clarity, engagement, and practical relevance. All code listings undergo automatic testing (over 28,000 tests) to ensure accuracy and reliability. All materials, code listings, exercises, and assignments are handcrafted by our trainers without the use of AI. All case studies and examples are based on real-world scenarios drawn from our extensive experience in software engineering.

Working language of the course is either English or Polish.

Course Outline

  1. Introduction to Neural Networks:

    • History and applications
    • Basic concepts: neuron, layer, activation
  2. Forward Propagation:

    • Calculating outputs for a single layer
    • Activation functions: sigmoid, ReLU, tanh
  3. Backpropagation:

    • Calculating gradients
    • Chain rule of derivatives
    • Updating weights
  4. Optimization:

    • Gradient descent algorithm
    • Choosing a loss function
    • Input data normalization
  5. Building a Neural Network:

    • Network structure: input, hidden, and output layers
    • Weight and bias initialization
    • Implementing the training loop
  6. Testing and Result Analysis:

    • Model validation
    • Results visualization
    • Error analysis
  7. Practical Project:

    • Building and testing your own neural network
    • Results analysis and optimization

Our Experience

AATC trainers have been teaching software engineering since 2015. We have already delivered over 11,000 (eleven thousand) hours of software engineering training to more than 32,000 (thirty-two thousand) students worldwide.

Requirements

  • Basic knowledge of Python programming
  • Familiarity with using an IDE (e.g., PyCharm, VSCode)
  • Familiarity with using version control systems (e.g., Git)
  • Basic understanding of AI-assisted coding tools (e.g., GitHub Copilot, ChatGPT)

Setup

  • Newest version of Python
  • IDE of your choice (e.g., PyCharm, VSCode)
  • Git installed and configured
  • GitHub account
  • Web browser (e.g., Chrome, Firefox, Safari, etc.)

Apply

If you are interested in taking this course, please contact us at info@astronaut.center