180 likes | 196 Views
This project developed a capstone course in distributed development to meet the needs of computer science, electrical engineering, and information systems engineering students.
E N D
Developing an Undergraduate Distributed Development Course Gregory Conti John M. D. Hill Curtis A. Carver, Jr. United States Military Academy Department of Electrical Engineering and Computer Science
What We Did… IS450Distributed Application Engineering Built an undergraduate Distributed Development course to serve as a capstone for our computer science minor and an elective for computer science, electrical engineering and information systems engineering majors. CS350Database Design & Implementation CS301Fundamentals of Computer Science IT305 Theory & Practice of IT Systems IT105 Introduction to Computing USMA Computer Science Minor (a.k.a. CS Sequence)
Why • Lack of WWW Programming in our traditional CS curriculum • Serve as a capstone course for our CS minor • Serve as an elective for CS, ISE and EE majors • Student Demand • Relevant
Philosophy • Design Methodology • Client to Server • Standards • Open source tools • Integrate with 120 (200) lessons • Weave security throughout course • Code reuse • Art in addition to Science
Course Structure • Introduction / Big Picture 3 Lessons • Web Site Design 5 Lessons • XHTML Development (Static Website)7 Lessons • Dynamic Website (Client Side Only) 7 Lessons • Dynamic Website (Server Side + DB) 5 Lessons • Server Technology 6 Lessons • Advanced Topics 5 Lessons • Wrap-up 2 Lessons
Assessment • Progressive Project on topic of students choice • Web Site Design • Progressive Programming Assignments • Basic • Basic + Client Side JavaScript • Basic + Client Side + Server Side + Database • Final Exam
Technologies • Open Source • Apache • Perl • HTML Kit • MySQL • Standards Based • XHTML vs. HTML • ECMA Script vs. JavaScript
Method • Taught in a PC lab • Internet Access • UNIX Access • Hand on • Maximize Use of Web Resources • Text – WWW How to Program (Deitel)
Student Feedback • No final exam (boilerplate) • Integrate w/ online computer based training • XHTML specific text • High marks for Deitel • Individual projects feeding into final group project(s) • Progressive example
Lessons Learned • Apache server & MySQL access • vmware • Everyone wants to help • Post to web server from day one • Perl requires a lot of time • Move to PHP • Alternative text
Lessons Learned (cont) • Open Source tools promote continued learning • Engineers design technically functional websites • JavaScript • Too much emphasis on standards is awkward
Future Work • XML • UML • PHP vs Perl • Joint engineer & artist project • Community service • Continue to seek out web resources
Future Work (cont) • Review 120 lesson sequence • Same text • Same technologies where possible • Laptops and wireless • Other technologies • C# / .Net / Java Applets • Greater emphasis on networks
Questions ???