IT350 Web and Internet Programming
Coordinator: Assoc. Prof. Adina Crainiceanu, MI362, x3-6822, adina@usna.edu
Course Description: This course introduces web-based application development. Topics include client-side development with HTML, CSS, and JavaScript, server-side web development with PHP, web site design, client-server model of the Internet, web transmission protocols.
Learning Objectives: At the end of the course students should be able to:
- To be familiar with and understand the importance of web standards. (Supports student outcome IT-m)
- To be able to design and develop interactive, client-side web applications. (Supports student outcome IT-l)
- To be able to design and develop server-side web applications. (Supports student outcome IT-l)
- To be able to explain how the client-server model of Internet programming works.
- To be able to describe and apply human-computer interaction principles such as affordances, conceptual model, and feedback to design and implementation of a web-based application
- To be able to describe sources of accessibility guidelines and standards, and the impact of these guidelines on designing computer-based applications.
- To be able to evaluate ethical issues involving web privacy. (Supports student outcomes e and g)
- To be able to successfully complete team-based projects.
Student Outcomes:
(e) An understanding of professional, ethical, legal, security, and social issues and responsibilities (Supported by learning objective 7)
(g) An ability to analyze the local and global impact of computing on individuals, organizations and society (Supported by learning objective 7)
(IT-l) An ability to effectively integrate IT-based solutions into the user environment (Supported by learning objectives 2 and 3)
(IT-m) An understanding of best practices and standards and their application (Supported by learning objective 1)
Textbook(s):Recommended textbook: Internet & World Wide Web: How to Program, Fifth Edition, P. J. Deitel, H. M. Deitel, A. Deitel; Prentice Hall, 2012.
Extra Instruction: Extra Instruction (EI) is available and stronlgy encouraged when your own attempts to understand the subject matter are unsuccessful. EI is not a substitute lecture; students should come prepared with specific questions or problems. Students that miss class should get the notes from a classmate or watch the Tegrity recording of the class.
EI is normally available during weekdays by appointment, except for Thursday, instructor's research day. Students may also show up at the instructor's office without appointment, however no expectation of instructor availability should be assumed. Asking questions over e-mail is strongly encouraged, though the reply might request in-person EI as the most effective solution.
Collaboration: The guidance in the Honor Concept of the Brigade of Midshipmen and the Computer Science Department Honor Policy must be followed at all times. See
www.usna.edu/CS/resources/honor.php. Specific instructions for this course:
- Labs: You may collaborate on laboratory assignments to the following extent: collaborative conversations with regard to syntax, strategies and methods for accomplishing the goal of the labs are encouraged; however design and implementation must be the work of the individual student handing in the final product. Sharing or copying of code is never permitted. In addition, you must identify all those that you collaborate with (give or receive help) on your assignment cover sheet. Consult your instructor if you need further clarification.
- Team Projects: The only collaboration allowed is among members of the same team. A midshipman may give no assistance whatsoever to any person not on their assigned team and may receive no assistance whatsoever from anyone outside the team, except from the instructor.
- Homeworks: Collaboration is allowed on homework. The final code or written submission must be entirely your own, but you may discuss approaches and algorithms with your classmates. You may never look at another student's written answers. This restriction also prohibits "checking your answers" by comparing answers side by side.
- Quizzes: Quizzes are open book/notes/online reading assignments. All work on quizzes must be your own.
- Exams: Exams will be open notes, but closed book, unless otherwise specified. All work on exams must be your own in accordance with USNAINST 1610.3F, USNAINST 1531.53, and COMPSCIDEPTINST1531C. These references can be found at http://www.usna.edu/cs/resources/honor.php.
- Online Resources: You can use online resources to assist your learning. These often contain code examples. You must identify in your final code every instance of code you adapted from an outside source. Using external code without citing it is an honor offense. Write a comment block with the citation above the portion of your code that you adapted from an online resource.
All collaboration and outside sources should always be cited. The same rules apply for giving and receiving assistance. If you are unsure whether a certain kind of assistance or collaboration is permitted, you should assume it is not, work individually, and seek clarification from your instructor.
Classroom Conduct:
Students are expected to uphold all professional standards while in class. Proper uniforms shall be worn, and proper language shall be used. Sleeping in class is prohibited. Stand in the back of the room if you are falling asleep. Cell phones must be silent during class. During lectures, laptops should be used only if/when the instructor instructs you to do so. Food, alcohol, smoking, smokeless tobacco products, and electronic cigarettes are all prohibited. Beverages are permitted in closed containers only.
The section leader will record attendance and bring the class to attention at the beginning and end of each class. If the instructor is late more than 5 minutes, the section leader will keep the class in place and report to the Computer Science department office. If the instructor is absent, the section leader will direct the class in productive review.
Absences:
Students are responsible for obtaining any material missed due to an absence. Additionally, students must ensure that their work is submitted by the deadline regardless of other commitments, i.e. duty, movement orders. Should bona fide emergencies arise, it is the responsibility of the student to coordinate with the instructor (emergency leave, hospitalization, SIR, etc.).
Preparation for Lab:
Each student must have their personal lecture notes with them for every class session that meets in the lab. Students without their own notes are unprepared and must retrieve them before they can begin work.
Exams:The 6 and 12-week exams will primarily focus on the recent material. The final exam will be comprehensive. If a make-up exam is required, inform the instructor at least 1 week in advance. Expect the exams to challenge your understanding of the underlying principles involved – being able to "eventually" get some web program to "work" via trial and error is not sufficient understanding for your current education and for your ability to learn new developments in the future.
Late Policy and Floating Grace Days:
Unless otherwise specified, labs are due
one minute before lab or class on the due date (electronically and paper). Assignments with paper copies must be turned in at the start of lab/class on the due date. If the paper copy is later than this, then the whole assignment will be treated as if submitted when the paper copy arrives. Blackboard quizzed will typically be due at 0900 each Tuesday.
Weekend days count as full late days. An assignment due on Friday is 3 days late if turned in on Monday.
You are encouraged to turn everything in on time like the responsible adult that you are. However, unexpected events do happen, so you have 5 floating grace days to use during the semester. You may spread these out over any number of labs (up to 4 grace days for any single lab). For instance, you may use 3 grace days on one lab, and 2 grace days on another. After using all of your grace days, you will receive a 0 (zero) on any late assignment thereafter. Weekend days count as full late days.
Floating grace days cannot be used for team assignments. Those assignments have to be submitted on time for credit.
Please note: grace days are intended to flexibly handle things like illnesses, injuries, and stressful circumstances. You shouldn't have to worry when these things happen. This is your safety net. However, if you use up your 5 days for "trivial" reasons, and then you fall ill, please consider what you're asking before pleading for extra late time.
Electronic/Paper Submission Time | Penalty Days |
By the due date and time | None |
One minute after due time | 1 day |
23 hours and 59 minutes after due time | 1 day |
24 hours and 1 second after due time | 2 days |
etc. | n days |
Grading:
| 6-Week Grade | 12-Week Grade | Final Grade |
6-Week Exam | 40% | 25% | 15% |
12-Week Exam | | 25% | 15% |
Quizzes/Homework/Participation | 20% | 10% | 10% |
Labs | 40% | 40% | 25% |
Course Project | | | 15% |
Final Exam | | | 20% |
Total | 100% | 100% | 100% |
The project grade will be based upon the instructor's estimation of the group's collective results (team grade), adjusted for each team member based upon the other group members' estimation of the individual's contribution. All students in a team might not receive the same grade.