Winter 2020
CIS-355: Server Side Web Application Development
Build, document and deploy database-driven web applications in PHP/MySQL.
Communication and Contact Information
Instructor | George Corser, PhD |
Email/Phone | Use Canvas mail, not email, for all course-related communication. For non-course-related communication, email:gpcorser@svsu.edu, voicemail:989.964.2756 |
Winter Class Hours | Mondays and Wednesdays, 10:30am-12:20pm, Room SE-135. Note: this is an in-person course. Attendance is expected. |
Winter Office Hours | Mondays and Wednesdays, 8:00am-10:00am, or by appointment, Room SE-179.
Use Canvas mail to set up an appointment, in person or by phone/Skype, as early as 6:00am weekdays. |
Course Description
"This course focuses on the server side of web application development technologies. Topics include understanding, installing and configuring various server side technologies such as web servers, scripting engines and databases. Students will also learn PHP to address server side scripting and its interplay with the client side response. Students will produce a large scale, dynamic web application to illustrate their application of the course topics. Examinations of database connectivity, web service models and the importance of XML will be provided." Prerequisites: CS 216, CIS 255. Credits: 4. (Source: SVSU Course Catalog.)
Textbooks
- Recommended (not required). Connolly, R. (2015). Fundamentals of web development, second edition. Pearson Education. ISBN-13: 978-0133407150, ISBN-10: 0133407152. Cost: $83.99 (Amazon.com). Course slides come from the 2015 version of the textbook.
- Alternative. Connolly, R. (2017). Fundamentals of web development, second edition. Pearson Education. ISBN-13: 978-0134481265, ISBN-10: 0134481267. Cost: $127.00 (Amazon.com). This is a newer book, but it is not the version of the book used this summer. Student resources
- Required. w3schools.com: the World's largest Web Developer Site. Cost: FREE (www.w3schools.com).
Topics
- Hosting (Linux)
- Database (MySQL)
- Language (PHP)
- Versioning (GitHub)
- Security: Login/Registration, Session Control, Data Binding and SQL Injection Defenses
- Application (CRUD: Create/Read/Update/Delete, File Uploading/Downloading)
- Web Service/API, AJAX, JSON, XML
- Framework (time permitting): Design Patterns, CodeIgniter/Laravel
- Mobile-izing: Cordova/PhoneGap
- Diagramming: Hierarchy Charts, Entity-Relationship Diagrams, Wireframe Diagrams, Use Case Diagrams
Assignments and Grades
Grade is calculated from the sum of points accumulated by student. Total possible points: 200.
- Quizzes: up to 60 points (30% of course grade)
- Coding Test: up to 40 points (20%)
- Programming Assignments: worth up to 100 points (50%)
Tools / Technology Components
- Multiple email accounts. Many providers of Web tools require users to create accounts. Authentication of accounts most often requires email address and password. You may prefer to create such accounts using different email addresses, or an email address other than your university email address. For privacy, if you prefer to remain anonymous to Web tool providers, then you may prefer to create an anonymous email address. To create an anonymous email address, open a new "incognito window" in your browser. Create a new email account with an email provider, such as Gmail. By opening incognito windows, it is possible to be concurrently logged in to multiple Web accounts for the same tool.
- GitHub. Sign up for a free account.
- GitHub Pages. Set up a web page where you will post links to all of your work for this course. See: video instructions and written instructions. The GitHub Pages site for this course is https://cis255.github.io/pages/.
- YouTube. You might want to use YouTube to post videos of your work, or to post videos of bugs you discover.
- Cisco Packet Tracer. Join the course, Introduction to Packet Tracer, and download the free software. To be consistent with course lectures, use version 7.2.
- CodePen. Sign up for a free account.
- 000webhost. Sign up for a free account.
- XAMPP
- NetBeans
- Codepad.org
- SqlFiddle
- phpMyAdmin
- GitHub
- Putty (SSH)
- WinSCP (FTP)
- Notepad++/NppFTP
- Lucidchart/Draw.io
- CodeIgniter
- PhoneGap (a distribution of Apache Cordova)
Texts/Sources/References
Android Privacy Policy
The web application code in this course can be used to generate mobile apps. For an example, see MFSM (Google Play, Apple App Store). Sometimes Android apps require a privacy policy, which must be available on the Web. The link below redirects to the CIS-355 Android privacy policy, which was generated by Iubenda. Students may use this privacy policy when publishing their apps.
Privacy Policy