Developing an Developing an Undergraduate Undergraduate Distributed Distributed Development Course Development Course Gregory Conti Gregory Conti John M. D. Hill John M. D. Hill Curtis A. Carver, Jr. Curtis A. Carver, Jr. United States Military Academy United States Military Academy Department of Electrical Engineering Department of Electrical Engineering and Computer Science and Computer Science
18
Embed
Developing an Undergraduate Distributed Development Course Gregory Conti John M. D. Hill Curtis A. Carver, Jr. United States Military Academy Department.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Developing an Developing an Undergraduate Distributed Undergraduate Distributed
Development CourseDevelopment CourseGregory ContiGregory Conti
John M. D. HillJohn M. D. Hill
Curtis A. Carver, Jr.Curtis A. Carver, Jr.
United States Military AcademyUnited States Military Academy
Department of Electrical Engineering Department of Electrical Engineering and Computer Scienceand Computer Science
What We Did…What We Did…Built an undergraduate Built an undergraduate Distributed Development Distributed Development course to serve as a course to serve as a capstone for our capstone for our computer science minor computer science minor and an elective for and an elective for computer science, computer science, electrical engineering electrical engineering and information systems and information systems engineering majors.engineering majors.IT105
Introduction to Computing
CS350Database Design & Implementation
CS301Fundamentals of Computer Science
IT305 Theory & Practice of IT Systems
IS450Distributed Application
Engineering
USMA Computer Science Minor (a.k.a. CS Sequence)
WhyWhy
Lack of WWW Programming in our Lack of WWW Programming in our traditional CS curriculumtraditional CS curriculum
Serve as a capstone course for our CS Serve as a capstone course for our CS minorminor
Serve as an elective for CS, ISE and EE Serve as an elective for CS, ISE and EE majorsmajors
Student DemandStudent Demand
Relevant Relevant
PhilosophyPhilosophy
Design MethodologyDesign MethodologyClient to ServerClient to ServerStandardsStandardsOpen source tools Open source tools Integrate with 120 (200) lessonsIntegrate with 120 (200) lessonsWeave security throughout courseWeave security throughout courseCode reuseCode reuseArt in addition to ScienceArt in addition to Science
Course StructureCourse Structure
Introduction / Big PictureIntroduction / Big Picture 3 Lessons3 Lessons
Web Site DesignWeb Site Design 5 Lessons5 Lessons
XHTML Development (Static Website)7 LessonsXHTML Development (Static Website)7 Lessons
Dynamic Website (Client Side Only)Dynamic Website (Client Side Only) 7 Lessons7 Lessons
Dynamic Website (Server Side + DB)Dynamic Website (Server Side + DB) 5 Lessons5 Lessons
Server TechnologyServer Technology 6 Lessons6 Lessons
Advanced TopicsAdvanced Topics 5 Lessons5 Lessons
Wrap-upWrap-up 2 Lessons2 Lessons
AssessmentAssessment
Progressive Project on topic of students Progressive Project on topic of students choicechoice
Web Site DesignWeb Site Design
Progressive Programming AssignmentsProgressive Programming Assignments– BasicBasic– Basic + Client Side JavaScriptBasic + Client Side JavaScript– Basic + Client Side + Server Side + DatabaseBasic + Client Side + Server Side + Database
Final ExamFinal Exam
TechnologiesTechnologies
Open SourceOpen Source– ApacheApache– PerlPerl– HTML KitHTML Kit– MySQLMySQL
Standards BasedStandards Based– XHTML vs. HTMLXHTML vs. HTML– ECMA Script vs. JavaScriptECMA Script vs. JavaScript
MethodMethod
Taught in a PC lab Taught in a PC lab – Internet AccessInternet Access– UNIX AccessUNIX Access
Hand onHand on
Maximize Use of Web ResourcesMaximize Use of Web Resources
Text – WWW How to Program (Deitel)Text – WWW How to Program (Deitel)
Student FeedbackStudent FeedbackNo final exam (boilerplate)No final exam (boilerplate)
Integrate w/ online computer based Integrate w/ online computer based trainingtraining
XHTML specific textXHTML specific text
High marks for DeitelHigh marks for Deitel
Individual projects feeding into final group Individual projects feeding into final group project(s)project(s)
Progressive exampleProgressive example
Lessons LearnedLessons Learned
Apache server & MySQL accessApache server & MySQL access– vmwarevmware
Everyone wants to helpEveryone wants to help
Post to web server from day onePost to web server from day one
Perl requires a lot of timePerl requires a lot of time– Move to PHPMove to PHP
Alternative textAlternative text
Lessons Learned (cont)Lessons Learned (cont)
Open Source tools promote continued Open Source tools promote continued learninglearning