# overview

#### Week of November 4th

### .NET

#### Route 01. Csharp Certification

This option focuses entirely on mastering C# before diving into broader .NET concepts. The goal is for you to gain a strong command of the language and become comfortable with its infrastructure. By Week 10, you'll be able to apply what you’ve learned to a hands-on project.

To start, please register on both FreeCodeCamp and Microsoft Learn. You’ll access the learning modules via FreeCodeCamp links, which will track your progress and give you the opportunity to sit for a Microsoft Certification exam upon completion.

[CSharp certification - 6 modules](https://www.freecodecamp.org/learn/foundational-c-sharp-with-microsoft/)

The next course is not part of the certification, but it is a great short example of minimal API.

[Create web apps and services with ASP.NET Core, minimal API, and .NET - 1hr 35min](https://learn.microsoft.com/en-us/training/paths/aspnet-core-minimal-api/)

#### Route 02. Blended C# and Infrastructure Approach

In this route, you'll combine learning C# with workshops focused on infrastructure essentials. This approach balances language fundamentals with practical infrastructure skills to give you a well-rounded foundation.

You can complete the first three C# lessons independently or through FreeCodeCamp. If you choose the FreeCodeCamp route, you’ll have the option to continue with the remaining lessons later and eventually take the Microsoft Certification exam.

**Option 2.1**

[Write your first code using C# (Get started with C#, Part 1)](https://learn.microsoft.com/en-us/training/paths/get-started-c-sharp-part-1/)

[Create and run simple C# console applications (Get started with C#, Part 2)](https://learn.microsoft.com/en-us/training/paths/get-started-c-sharp-part-2/)

[Add logic to C# console applications (Get started with C#, Part 3)](https://learn.microsoft.com/en-us/training/paths/get-started-c-sharp-part-3/)

**Option 2.2**

[CSharp certification - 3 first modules on FreeCodeCamp](https://www.freecodecamp.org/learn/foundational-c-sharp-with-microsoft/)

**Common**

[Build .NET applications with C# - 3hr 14min](https://learn.microsoft.com/en-us/training/paths/build-dotnet-applications-csharp/)

[Create a web API with ASP.NET Core controllers - 41min](https://learn.microsoft.com/en-us/training/modules/build-web-api-aspnet-core/)

[Develop an ASP.NET Core web app that consumes an API - 2hr 18min](https://learn.microsoft.com/en-us/training/paths/develop-asp-core-api/)

[Create web apps and services with ASP.NET Core, minimal API, and .NET - 1hr 35min](https://learn.microsoft.com/en-us/training/paths/aspnet-core-minimal-api/)

### PHP. 5-Day PHP Learning Plan

### Setup Required

1. Install XAMPP: <https://www.apachefriends.org/download.html>
2. VSCode PHP Extension: PHP Intelephense

### Day 1: PHP Basics

**Main Resource:** [Laracasts - PHP for Beginners 2023](https://laracasts.com/series/php-for-beginners-2023-edition)

* Episodes 1-7
  * Variables and Basic PHP Syntax
  * PHP Configuration
  * Arrays and Functions
  * Page Links

**Reference:** [W3Schools PHP](https://www.w3schools.com/php/default.asp)

**Practice Project:** Build a Temperature Converter Tutorial: <https://www.w3schools.com/php/php\\_form\\_complete.asp>

* Convert Celsius to Fahrenheit and vice versa
* Form handling
* Basic calculations
* Simple styling

### Day 2: Database & PDO

**Main Resource:** Laracasts Episodes 8-14

* Database Connections
* PDO Basics
* SQL Injection Prevention
* Basic Forms

**Reference:** [PHP PDO Documentation](https://www.php.net/manual/en/book.pdo.php)

**Practice Project:** Build a Contact List Tutorial: <https://www.tutorialrepublic.com/php-tutorial/php-mysql-crud-application.php>

* Store names and phone numbers
* View all contacts
* Simple database operations
* Basic error handling

### Day 3: Authentication

**Main Resource:** Laracasts Episodes 15-20

* Sessions
* Authentication
* Registration
* Form Validation

**Reference:** [PHP Session Documentation](https://www.php.net/manual/en/book.session.php)

**Practice Project:** User Authentication System Tutorial: <https://www.tutorialrepublic.com/php-tutorial/php-mysql-login-system.php>

* Login form
* User registration
* Password hashing
* Session management

### Day 4: Structure & Organization

**Main Resource:** Laracasts Episodes 21-25

* Refactoring
* Router Implementation
* Controllers
* API Basics

**Reference:** [PHP Best Practices](https://phptherightway.com/)

**Practice Project:** Simple Note Taking App Tutorial: <https://www.sourcecodester.com/php/15434/simple-notes-app-using-php-and-mysql-source-code.html>

* CRUD operations
* User-specific notes
* Basic organization
* Simple API endpoint

### Day 5: Final Project - Task Management System

Build a complete task management system combining all concepts learned.

Tutorial Guide: <https://codeshack.io/crud-application-php-pdo-mysql/>

**Project Requirements:**

1. User System
   * Login/Register
   * Password hashing
   * Session handling
2. Task Features
   * Add/Edit/Delete tasks
   * Mark as complete
   * Due dates
   * Priority levels
3. Database
   * Users table
   * Tasks table
   * Basic relationships

### Daily Schedule

* 2 hours: Watch Laracasts
* 1 hour: Code along with episodes
* 2 hours: Work on daily project

### Getting Unstuck

1. Check Laracasts comments
2. PHP Manual: <https://www.php.net/manual/en/>
3. Stack Overflow
4. PHP Discord: <https://discord.gg/php>

### Next Steps

1. Laravel Framework: <https://laravel.com/docs/>
2. More complex projects
3. PHP Security practices
