INTRO TO SERVER-SIDE PROGRAMMINGIntroduction to PHP
Friday, August 30, 13
Your Instructor
David Laietta - @davidlaietta
Email: [email protected]
WordPress Orlando Meetup - http://www.meetup.com/WordPress-Orlando/
Friday, August 30, 13
The Class - Things We’ll Learn
Writing computer programs
Using a version control system
Completing individual and group projects
Collaborating and learning with fellow students
Knowing what the program does and that it works properly
Knowing what to fix and how when the program is not working
Friday, August 30, 13
What You Need For the Class
A Cloud9 IDE account (free) to work on assignments and collaborate with your classmates
A Github account (also free) to receive and submit assignments
Basic computer competency to handle typing, searching the internet and launching applications
A basic understanding of high-school level algebra
Friday, August 30, 13
About The Class
We have only 15 classes. Attendance is important!
Grading and Exam Policy:
Participation: 45 points (includes attendance)Assignments: 30 points (in class assignments)Final Project: 15 pointsFinal Exam: 10 points
Friday, August 30, 13
LESSON ONEIntroduction to Programming
Friday, August 30, 13
What is Programming?
Definition courtesy of Wikipedia:Computer programming (often shortened to programming) is the comprehensive process that leads from an original formulation of a computing problem to executable programs. It involves activities such as analysis, understanding, and generically solving such problems resulting in an algorithm, verification of requirements of the algorithm including its correctness and its resource consumption, implementation (or coding) of the algorithm in a target programming language, testing, debugging, and maintaining thesource code, implementation of the build system and management of derived artefacts such as machine code of computer programs. The algorithm is often only represented in human-parseable form and reasoned about using logic.
Programming is:
Analyzing a problem, determining a solutionTranslating the problem and solution into a computer languageFinding and fixing errors that come up translating the problem and solution
Friday, August 30, 13
What is Development?
Definition courtesy of Wikipedia:Software development (also known as application development, software design, designing software, software application development, enterprise application development, or platform development) is the development of a software product. The term "software development" may be used to refer to the activity of computer programming, which is the process of writing and maintaining the source code, but in a broader sense of the term it includes all that is involved between the conception of the desired software through to the final manifestation of the software, ideally in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.
Software Development is:
Computer programming plus all other activities that go into producing a fully functional software systemThis is not what we are doing in this class
Friday, August 30, 13
What is Source Control?
Data is recorded on who did what and when with a project
Comments are also set to notate changes that were made
Project files can be compared, restored or merged from any point
Multiple collaborators can work simultaneously and tracks
Friday, August 30, 13
Github
Find, follow, contribute, pull and fork projects that you find interesting or that are useful to you
Publish projects that others might find interesting or useful
Collaborate in a group on projects with simple notation
Keep backups of work in a safe place
Friday, August 30, 13
Cloud9 IDE
IDE: Integrated Development Environment
Code-focused, project-aware text editorSyntax checking, deployment, source control
Browser based, but capable of offline editing
Connects Workspaces to Github Repositories automatically
Real Time Collaboration
Friday, August 30, 13
ASSIGNMENT ONECreate Github and Cloud9 Accounts
Friday, August 30, 13
Creating Your Accounts
Github Account:
Open https://github.com/signup/freeUse your Valencia email address, but others can be addedFind and follow the Github organization for this class
Cloud9 Account:
Open https://c9.io/site/sign-up-for-free/Use your Github account to create your Cloud9 accountCreate a new Workspace and call it “sandbox”
Friday, August 30, 13
Set Up Your WorkspaceCreate a new Repository in Github called “assignments”
Create a Workspace in Cloud9 from this new repo
Open your Workspace and create a file named “README.md”
Enter the following in that file, then save:name: Your Nameclass: DIG1108C, Fall 2013
Use the console to “git add” and “git commit” your file
Use “git push origin master” to send the file to Github
Friday, August 30, 13
HOMEWORK ONETesting Your New Toolkit
Friday, August 30, 13
Exploring Your Tools
Part 1:Find the Github account for this class (vc-dig1108-fall-2013)Find the repository for the syllabusSign up for change notifications by “watching” the repo
Part 2:Find an interesting project on Github, preferably smallResearch the project and prepare to explain it in Class TwoCopy (“fork”) the repo into your own Github accountCreate a workspace in Cloud9 for this new repository
Friday, August 30, 13