Course Syllabus
- Instructor: David Rogers (@al-the-x)
 - Phone: 407-582-2340 (Arts & Ent Dept)
 - Email: drogers28@mail.valenciacollege.edu
 - URL: https://vcc-dig1108.github.com
 
Text and Required Supplies
- PHP: The Good Parts
- Print ISBN13: 978-0-596-80437-4 / ISBN10: 0-596-80437-7
 - Ebook ISBN13: 978-1-4493-8828-7 / ISBN10: 1-4493-8828-0
 
 - Free Github Account
 - Free Cloud9 IDE Account
 
Course Description
Covers basic programming knowledge applied to back-end web technology with a focus on the PHP programming language.
Course Objectives
This course will enable a student to read and write computer programs in the PHP server-side programming language, find and navigate reference material in print and on the internet, work together and individually to complete a test-driven development project, and to track his or her progress incrementally with the "git" source control system.
Core Competencies
Valencia faculty have defined four interrelated competencies (Think, Value, Communicate, ACT) that prepare students to succeed in the world community. These competencies are outlined in the College Catalog. In this course, through lecture and discussion, group work, and other learning activities, you will further develop your mastery of those competencies.
Attendance Policy
Please keep in mind that this is a once-a-week class period in which you're expected to learn a completely foreign language and all the mental paradigms of basic computer science. Missing even a single class can put you significantly behind the rest of the class.
Attendance will be taken promptly at the beginning of each class period, and any absence will be marked as a deduction of your Participation grade, as noted below under Grading Policy. The standard withdrawal window apply; see your term calendar. In the case of excessive absence due to unforeseeable circumstances, contact me immediately to register an Incomplete grade so that you can attempt to complete the course work in a future term.
Exam and Grading Policy
Participation: 45 points
This class will heavily emphasize individual engagement and group participation. Your attendance to and attention in class will make or break your grade. You'll be scored in the following areas:
- Class Attendance -- Each missed class period will result in an 5 point reduction in grade; missing more than 2 class periods consecutively without notice will result in a full loss of points and an effective failure grade. If an unavoidable circumstance arises, contact me.
 - Pairing Exercises -- You'll regularly be assigned in-class work with a partner chosen at random, and your ability to work with various partners will be graded objectively, counting positive progress in your favor.
 - Dojo Exercises -- Towards the second half of the term, the class will regularly engage in Coding Dojo exercises, and your participation and engagement in these exercises will be graded objectively and subjectively based on the rules explained in class.
 
Assignments: 30 points
Each class period will usually feature a couple of in-class pairing exercises, in which you'll be partnered with another student at random to complete a short assignment. Additionally, you'll regularly be assigned out-of-class exercises that should be completed individually and is due before midnight of the next class day. Although collaboration and communication with your fellow students is acceptable, sharing answers directly is strongly discouraged. Finally, certain assignments will be noted as individual-only assignments and should reflect a student's individual effort. If in doubt, ask for clarification.
Programming Assignments
Throughout the course, the students will be given various assignments that involve producing working programs. These assignments MUST be stored in the git source control management tool and submitted for review via Github. More specific instructions for submission and guidelines may accompany each such assignment. These will be graded based on the following, whenever applicable:
- Coverage of test cases
 - Compliance to coding standards
 - Correctness of solution
 - Complexity of solution
 
Final Project: 15 points
In the second half of the term, each student will be assigned a different programming project that should be completed outside of class and is due the day of the Final Exam. It will be graded as per Programming Assignments above and should include incremental commits into a source control repository under the student's Github account. While general collaboration and communication with other students is acceptable for this project, all code should be authored by the assigned student.
Final Exam: 10 points
Each student will be given a programming project to work on within the allotted exam period, however successful completion of the project within that timeframe is not expected. It will be graded as per Programming Assignments above (with concessions for Correctness since you likely won't finish). All code should be authored by the assigned student within the provided class period; collaboration or communication with other students is not permitted.
Overall Grading Scale
- A: 90+ points
 - B: 80 - 90
 - C: 70 - 80
 - D: 60 - 70
 - F: 60- points
 
Make-Up Policy
If you cannot attend the Final Exam for unavoidable reasons, you may request an alternate exam date, which must correspond to another scheduled class time. If you cannot attend because of unforeseen, unavoidable reasons, you may contact me to request an Incomplete for the class and take the exam in a subsequent term. If you fail to submit an assignment by the required due date, you will not receive credit for the assignment.
Computer & Equipment Use Policy
Use of computers in the Business, IT, and Public Services classrooms at Valencia Community College is restricted to those activities designated by the instructor to enhance the class materials. Any other use is strictly forbidden. Inappropriate use includes, but is not limited to:
- Use of computer to send E-mail or access Internet sites not specifically assigned in class.
 - Use of computer for job, internship, homework or other activities not assigned in class.
 - Modifying any hardware or software system configuration or setting.
 - Activities not in accordance with the Valencia Student Code of Conduct
 
Use of computers in the Business Students open lab (Bldg. 2, Room 304) is limited to those activities involved with preparing homework or coursework in the IT or Business departments and is subject to the same restriction as listed above.
Computer use is remotely monitored; any student using computers inappropriately may be subject to dismissal from class or banishment from the lab. Subsequent offense may be sent to the campus administration for further disciplinary action.
Students with Disabilities
Students with disabilities who qualify for academic accommodations must provide a notification from the Office for Students with Disabilities (OSD) and discuss specific needs with the instructor, preferably during the first two weeks of class. The Office for Students with Disabilities determines accommodations based on appropriate documentation of disabilities. The East Campus Office is located in Building 5, Room 216.
Course Schedule
- Week 1: Intro to the Intro
 - Week 2: Finding your way around... -- Intro to Literals, Operators, Variables and Expressions feat. the PHP Manual
 - Week 3: Expressing yourself... Politely. -- More about Expressions, Statements, and Code Organization
 - Week 4: BREAK
 - Week 5: Who's in control here? -- Introduction to control structures and diagraming with 
if-else - Week 6: Walk around in circles -- More on control structures with loops and arrays
 - Weeks 7-8: Basic Object-Oriented Programming
 - Weeks 9: Welcome to the Coding Dojo!
 - Weeks 10-15: Advanced Techniques, Coding Dojos
 - Final Exam