COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida CREDIT HOURS 3 credits hours PREREQUISITE Completion of EME 6208 with a passing grade or instructor permission. COURSE DESCRIPTION Study of development and problem solving as applied to real world educational problems with solutions designed and implemented in various programming and scripting languages. Topics include data types, logic, relational operations, flowcharting, sequence, selection, repetition, functions, arrays, file i/o, object orientation, relational database design, entity relationship diagrams, design principles, testing, and debugging. Prior programming experience is neither assumed nor required. INSTRUCTOR INFORMATION Name: Albert Ritzhaupt, Ph.D., PMP, CCP, CDMP Email: aritzhaupt@gmail.com Website: http://www.aritzhaupt.com/ Office Phone: (352) 273 4180 Cell Phone: (904) 859 9799 CLASS MEETING TIMES Tuesdays from 5:10pm 8:10pm TEXTBOOK INFORMATION There is not a required textbook for this course. However, there are several online readings which are clearly outlined on the syllabus. REQUIRED SOFTWARE/HARDWARE You will need access to a variety of software packages this semester that will include integrated development environments, programming and scripting language compilers/interpreters, database management systems, software modeling tools, web browsers and various plug ins, web servers, and various operating systems. The software tools include PHP, HTML/XHTML, HTML 5, CSS, XML, JavaScript, MySQL, and MS Access 2007/10/13. You will also need a robust text editor, such as NotePad++ or jedit. For designing software diagrams, you can use either Microsoft PowerPoint 2007/10/13 or Microsoft Visio 2007/10/13. You will also use a web authoring package for some of the deliverables, like KompoZer or Dreamweaver. Finally, you 1
will need access to a web server space. The instructor will identify suitable server spaces for you. You will need to create your domain and pay the fee for at least one year of service. COURSE DELIVERABLES There are three primary forms of deliverables in this course: software assignments, an ebook chapter submission, and examinations. Each of the items has a hard deadline that will be posted in advance and will not be adjusted. Software Assignments There will be several software assignments that you are to complete during the semester. The software assignments are designed to provide you an opportunity to apply the skills and concepts you have learned. The assignments should be completed individually. You are welcome to share ideas, help each other debug source code, and compare results. However, you should not share your source code. The assignments include the following: Assignment 1: HTML and CSS Assignment 2: Decision Control Structures in JavaScript Assignment 3: Repetition Control Structures and Arrays in JavaScript Assignment 4: HTML 5 Canvas Assignment 5: Introduction to PHP Scripting Assignment 6: PHP and MySQL Assignment 7: Implementing AJAX Pair Programming Project Pairs of two will collaboratively create an interactive instructional website. The topic of the instructional website is your choice. However, it must meet certain requirements, which are described in the pair programming project specifications. Members of a pair can self select partners on the first day of class. Examination There will be one examination during the semester. The exam will cover material from the assignments, class lectures and activities. The examination is a traditional on campus examination, and is closed book and notes. Please do not worry about the exams. Worry about finishing the assignments and learning the materials. Completion of the assignments and associated activities will assure you perform well on the exams. GRADING SCALE Final course grades will be determined using scores Grade Scale from the following: A 90 100 B 80 89 45% Assignments (7) C 70 79 40% Pair Programming Project D 60 69 15% Examination E 0 59 Note: A grade of an I will not be awarded unless there are extenuating circumstances. The only grades that will be given for this class are: A, B, C, D, and E. No plus or minus grades will be given. 2
LEARNING OBJECTIVES Upon successful completion of this course, student will be able to: 1. Define the protocols and systems used on the Web. 2. Explain the functions of clients and servers on the Web. 3. Connect to a webserver to upload files. 4. Use flowcharts to illustrate problem solving logic and entity relationship diagrams to illustrate a database design. 5. Implement static websites using HTML, HTML 5, and CSS. 6. Implement interactive websites using client side scripts (JavaScript) and server side scripts (PHP). 7. Design and implement an interactive instructional web site with regard to issues of usability and accessibility using both client side and server side technology. 8. Demonstrate the ability to insert, update, delete and retrieve data to and from a MySQL relational database. COURSE POLICIES Attendance Students are expected to attend all of their scheduled classes and to satisfy all course objectives as outlined by the instructor. The effect of absences upon grades is determined by the instructor, who reserves the right to deal with individual cases of nonattendance. It is the student's responsibility to give the instructor notice prior to any anticipated absence, and within a reasonable amount of time after an unanticipated absence. Furthermore, it is the student s responsibility to catch up on all missed assignments and information covered in class. Requirements for class attendance and make up exams, assignments, and other work in this course are consistent with university policies that can be found in the online catalog at: http://gradcatalog.ufl.edu/content.php?catoid=5&navoid=1054#attendance Late Work In order to receive full credit for work, students must turn in required deliverables on the specified due date. Late work will not be accepted unless you fall under the special circumstances (e.g., religious holidays, military duty, etc.). Read the link above under attendance. You are welcome, however, to submit work early. Accommodations for Students with Disabilities If you require classroom accommodation because of a disability, you must first register with the Dean of Students Office (http://www.dso.ufl.edu/drc). The Dean of Students Office will provide documentation to you, which you then give to the instructor when requesting accommodation. The College is committed to providing reasonable accommodations to assist students in their coursework. Counseling and Student Health Students with academic concerns related to this course should contact the instructor in person or via email. Students also may occasionally have personal issues that arise in the course of 3
pursuing higher education or that may interfere with their academic performance. If you find yourself facing problems affecting your coursework, you are encouraged to talk with an instructor and to seek confidential assistance at the UF Counseling & Wellness Center, 352 392 1575. Visit their web site for more information: http://www.counseling.ufl.edu/. Also, crisis intervention is always available 24/7 from: Alachua County Crisis Center: (352) 264 6789. Academic Integrity and Academic Honor Code As a student at the University of Florida, you have committed yourself to uphold the Honor Code, which includes the following pledge: We, the members of the University of Florida community, pledge to hold ourselves and our peers to the highest standards of honesty and integrity. You are expected to exhibit behavior consistent with this commitment to the UF academic community, and on all work submitted for credit at the University of Florida, the following pledge is either required or implied: "On my honor, I have neither given nor received unauthorized aid in doing this assignment." It is assumed that you will complete all work independently in each course unless the instructor provides explicit permission for you to collaborate on course tasks (e.g. assignments, papers, quizzes, exams). Furthermore, as part of your obligation to uphold the Honor Code, you should report any condition that facilitates academic misconduct to appropriate personnel. It is your individual responsibility to know and comply with all university policies and procedures regarding academic integrity and the Student Honor Code. Violations of the Honor Code at the University of Florida will not be tolerated. Violations will be reported to the Dean of Students Office for consideration of disciplinary action. For more information regarding the Student Honor Code, please see: http://www.dso.ufl.edu/sccr/honorcodes/honorcode.php Course Evaluation Students are expected to provide feedback on the quality of instruction in this course based on 10 criteria. These evaluations are conducted online at https://evaluations.ufl.edu. Evaluations are typically open during the last two or three weeks of the semester. Summary results of these assessments are available to students at https://evaluations.ufl.edu. Acceptable Use Policy Please read the University of Florida Acceptable Use Policy that can be found at http://www.it.ufl.edu/policies/aupolicy.html. You are expected to abide by this policy. Software Use All faculty, staff, and students of the University of Florida are required and expected to obey laws and legal agreements governing software use. Failure to do so can lead to monetary damages and/or criminal penalties for the individual violator. Because such violations are also against the University policies and rules, disciplinary action will be taken as appropriate. 4
COURSE SCHEDULE This is a tentative course schedule. Please use this schedule to plan your weekly activities. Readings should be completed before class. Remember, no late work is accepted. Week Topics Deliverables Week 1: 8/26/2014 Course Introduction Introduction to peers Syllabus Review Introduction to computer programming Scripting versus programming Sequence, selection, and repetition Internet basics Creating and editing web pages Introduction to jedit and NotePad++ Introduction to markup languages (HTML) Links, Images, formatting text, and tables Week 2: 9/2/2014 Creating Image Maps, Frames, and Forms RGB coloring system and hexadecimal numbers Introduction to Cascading Style Sheets (CSS) CSS Syntax, classes, properties, identification External, embedded, and inline styles Using CSS to standardize web pages Web design and accessibility principles Week 3: 9/9/2014 Read entire tutorial: http://www.w3schools.com/html/ Read entire tutorial: http://www.w3schools.com/css/ Read the entire book : http://webstyleguide.com/wsg3/ Introduction to JavaScript, DHTML, and the Client Side Principles of object orientation Document Object Model (DOM) Placing JavaScript into Web Pages Reserved words and commenting code Run time vs. compile time vs. logic errors Events and Event Handling: Load, Unload, Click, Reset, Focus, Blur, Change, Select Introduction to Functions Functional Decomposition IPO Diagrams and Pseudocode Assignment 1 5
Week 4: 9/16/2014 Variable Scope (Local vs. Global) Pass By Copy Versus Pass by Reference Defining and Invoking Functions Creating Function Libraries Read JS Home, JS Introduction, JS How To, JS Where To, JS Statements, JS Comments, JS Events, JS Math, JS HTML DOM: Read entire tutorial: http://www.brainjar.com/dhtml/intro/ Read Intro, Syntax, Enable, Local, External, Events, and Comments: Sequence Control Structure Data Types Literals and Variables Variable Initialization and Declaration Expressions and Statements Operators and Order of Operations Introduction to Structured Flowcharts Selection Control Structure If then else statement Switch statement Try catch finally statement Truth tables Relational operators and Boolean algebra Logical equivalency (e.g., DeMorgan s Law) Introduction to regular expressions Read JS Variables, JS Operators, and JS Functions: Read Functions, Statements, Confirm, Prompt, and Print: Read JS Comparisons, JS If...Else, JS Switch, JS Popup Boxes, JS Events, JS Try...Catch, JS Throw, JS Boolean, JS Browser, JS Date, and JS Validation: Read about regular expressions: http://www.webreference.com/js/column5/ Read If, Else If, and Date: Project Proposal 6
Week 5: 9/23/2014 Week 6: 9/30/2014 Week 7: 10/7/2014 Repetition control structures Counting versus conditional looping While loop Do while loop Endless Loops For loop Breaking from loops Revisit Structured Flowcharts Read about regular expressions: http://www.webreference.com/js/column5/index.html Read JS For Loop, JS While Loop, JS Break Loops, JS For...In: Read 5. Script Iterations, 11. Dynamic Filters, 12. Dynamic Content: http://www.maconstateit.net/tutorials/jsdhtml/ Read While, and For Loop: Introduction to arrays Declaring, populating, indexing Associative arrays and delete operator Parallel arrays Array applications Sorting algorithms Introduction to Object Oriented Programming Revisit Principles of Object Orientation Creating and Using Objects Classes, Methods, Properties Predefined Classes and Objects Inheritance, Polymorphism, Encapsulation, Abstraction Read JS Array: Read 6. Arrays and Data Objects: http://www.maconstateit.net/tutorials/jsdhtml/ Read Array: Basics of computer graphics Detecting coordinates Drawing lines, squares, circles, etc. Using the Canvas Assignment 2 Assignment 3 7
Drag and drop in the Canvas Creating animations Prepare for examination 1 Week 8: 10/14/2014 Examination 1 Read entire tutorial: http://www.html5canvastutorials.com Week 9: 10/21/2014 Week 10: 10/28/2014 Week 11: 11/4/2014 Introduction to the Server Side and PHP POST and GET methods Revisit Data Types and Variables Revisit Sequence, Selection, Repetition File I/O in PHP Prepare for the Examination Read all sections up to advanced: http://www.tizag.com/phpt/ Read all sections up to advanced: http://www.w3schools.com/php/default.asp Important functions in PHP Introduction to Persistent Memory Cookies in JavaScript Sessions in PHP Personalizing web pages Restricting access to web pages Read all remaining sections in (Except Database): http://www.tizag.com/phpt/ http://www.w3schools.com/php/default.asp Read about cookies in: http://www.w3schools.com/js Introduction to relational databases Database terminology Normalization Entity relationship diagrams DML versus DDL Assignment 4 Assignment 5 8
Introduction to MS Access Examples in MS Access No readings required. Week 12: 11/11/2014 Introduction to Structured Query Language (SQL) Select, Insert, Update, Delete, Create, and Alter statements Introduction to MySQL Using PHP to connect to a MySQL database Creating data driven web pages Read all Database sections in PHP: http://www.tizag.com/phpt/ http://www.w3schools.com/php/default.asp Read SQL tutorial: http://www.tizag.com/sqltutorial/ Read MySQL tutorial: http://www.tizag.com/mysqltutorial/ Week 13: 11/18/2014 Week 14: 11/25/2014 No class! Florida Educational Research Association Assignment 6 Introduction to Extensible Markup Language (XML) Document Type Definition (DTD) XML Schemas Application of XML Creating custom tags and linking to CSS Introduction to Asynchronous JavaScript and XML Using JavaScript, PHP and XML for AJAX Creating responsive web pages with AJAX Read all XML tutorial: http://www.w3schools.com/xml/default.asp Read all AJAX tutorials: http://www.tizag.com/ajaxtutorial/ http://www.w3schools.com/ajax/default.asp Week 15: 12/2/2014 Presentation of final projects! Final Project Assignment 7 9