Intermediate PHP & MySQL
========================
   ![PHP](images/php.png "PHP")       ![MySQL](images/mysql.png "MySQL")     ![Symfony](images/symfony.png "Symfony")      

> This course is designed for students with a fundamental understanding of programming. 
> We will spend some time reviewing PHP basics, for students who are familiar with another language.
> We will then move on to commonly used linguistic constructs, talk about the web, learn Object Oriented principles,
apply some of the most commonly used design patterns, learn about the MySQL database server and learn Symfony.
> We will then spend the rest of the class working on a project, which will ultimately become a part of our portfolio.

Week 1 - [PHP Basics](syllabus/01 PHP Basics.md) [:notebook_with_decorative_cover:](syllabus/homework/01_count_types.md)

Week 2 - [Functions, Arrays & Strings](syllabus/02 Strings Functions Arrays.md) [:notebook_with_decorative_cover:](syllabus/homework/02_card_game.md)

Week 3 - [Web Programming](syllabus/03 Web Programming.md) [:notebook_with_decorative_cover:](syllabus/homework/03_countries_on_earth.md)

Week 4 - [Object Oriented Programming](syllabus/04 Object Oriented Programming.md) [:notebook_with_decorative_cover:](syllabus/homework/04_OO_card_game.md)

Week 5 - [Design Patterns](syllabus/05 Design Patterns.md) [:notebook_with_decorative_cover:](syllabus/homework/05_simon_says.md)

Week 6 - [MySQL Fundamentals](syllabus/06 MySQL Fundamentals.md)

Week 7 - [Introduction to Symfony](syllabus/07 Introduction to Symfony.md)

Week 8 - [ACAShop - Capstone Project Kickoff](syllabus/08 ACAShop Capstone Project Kickoff.md)

Week 9 - In class coding and project completion

Week 10 - Continue in class coding for ACAShop, Student Q&A, the state of PHP and the job market.

#### Required Software
Here are some applications you will need installed.

- [VirtualBox](https://www.virtualbox.org/) - Create and run a virtual development environment
- [Vagrant](https://www.vagrantup.com/) - Provision a virtual machine
- [ansible](http://docs.ansible.com/intro_installation.html) - Configure the VM
- [PHPStorm](https://www.jetbrains.com/phpstorm/download/) - State of the art PHP IDE (we will be providing everyone student licenses)
- [git](http://git-scm.com/) - Version control system
- [SourceTree](http://www.sourcetreeapp.com/) - Free git GUI client

#### Developer Environment


#### Virtual Machine
We have created a seperate repository that contains instructions on how to setup and configure your VM.
Clone [VirtualMachines](https://github.com/AustinCodingAcademy/VirtualMachines) and follow the instructions.
*Note: We will host workshops, prior to class, to help students setup their machines.*


#### Book
[The Symfony Book](http://symfony.com/doc/current/book/index.html) - The Symfony bible, written and maintained by the core team

#### Reference
- [Helpful Links](Links.md)
- [git Commands](GitCommands.md)

***

`Instructor`: [Samir Patel](http://samirpatel.me)

`Phone`: (512) 745-7846

`Email`: samir at austincodingacademy dot com

`Office Hours`: 30 minutes after class
