1 / 22

Platforms for Learning in Computer Science

Platforms for Learning in Computer Science. July 28, 2005. In an Ideal Computer Science Program:. Students would: Be able to easily relate topics from different courses and areas of computer science Feel programming assignments are meaningful

Download Presentation

Platforms for Learning in Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Platforms for Learningin Computer Science July 28, 2005

  2. In an Ideal Computer Science Program: • Students would: • Be able to easily relate topics from different courses and areas of computer science • Feel programming assignments are meaningful • Feel inspired and able to explore further into topics than required • Gain experience with larger programs and maintaining and integrating code more like they will find in the workforce

  3. The Visualization of Such a Program: • We feel that we could create a program to meet these needs through a Platform for Learning

  4. What is a Platform for Learning? “A platform for learning is a set of common, unifying objects or experiences that weave together the various classes in a curriculum.” • Students begin with a simple version of the platform project when they start the program. • As the student progresses, they continue adding the new things they learn to the platform, allowing them to relate many topics back to one place.

  5. Key Principles in Platforms for Learning • Context for Learning • Students can apply topics they learn in lecture to actual implementation in the platform, reinforcing lecture topics • Integration between Courses • The same platform is used throughout several different classes, so students can see how different topics connect together more easily • Personal Ownership • Students are more motivated to do well in their work with their platform, because it is something that belong to them and they will keep.

  6. More Key Principles • Learning Community • Students, even at different stages in their studies, share a common point of interest, building a community of learners who share a common focus • Flexibility • The platform supports additions and changes as the students come up with ideas they would like to try, encouraging innovation and further learning.

  7. How Might a Computer Science Platform Look? • A computer science platform would most likely be a program that students create and add functionality to • There are numerous types of programs that it could be • A game, personal organizer, web browser, operating system and many others are all possible • Each type of program has its pros and cons (Some students would find many games very inspiring, but others would be put off by them.)

  8. An Example Progression of a CS Platform for the First Two Years • A platform would complement and support the line of topics already included in the current curriculum • Students would begin with a program using a text-based interface in the imperative programming paradigm • They would then add a simple graphical interface and use the object-oriented paradigm • They would learn to utilize algorithms and consider their complexity

  9. More Advanced Possibilities • The platform should support connection to the web and online interactivity and security • It should be able to be networked between other local computers • It should be able to utilize artificial intelligence • Students should be able to add a more advanced graphical user interface and other graphics

  10. Platform Style • More important at these beginning stages than the actual type of program implemented would be how the platform is provided to students • We have identified 3 key forms a CS platform program could take: • Entirely Student Implemented • Student Implemented with a Library of Helper Functions/Objects • Modifications to an Already Working Program

  11. Entirely Student Implemented • In this style, students start out with nothing but an objective and guidelines on how it could be implemented using concepts learned in lecture • The idea is that students will be able to completely understand and be able to implement everything that is needed in the program • One drawback would be that the program would be limited to what the students completely understand and it could be more difficult to create something inspiring.

  12. Example: An Organizer’s To Do List • This example is a program in C that CS151 (Beginning C Programming) students might be expected to write completely on their own. • Students start by writing a program that can print a simple to do list • By the end of the term, the list is user input, can be saved to and loaded from disk, and can be sorted using different methods

  13. To Do List Example Continued

  14. Student Implemented with a Helper Library • In this style, students would start with a library that helps students achieve tasks they don’t yet know enough to complete on their own • They would each write their own program and would have access to this library just like they would use a standard library, in order to make it easier to add more advanced functionality. • A drawback would be that students are working with ideas they don’t yet understand, and the current curriculum may need to be rearranged to accommodate it.

  15. Example: An Organizer’s Calendar • This example is a program in Java that students might be expected to write in CS161 (Beginning Java Programming) that students would write with the help of Helper Methods to make the graphical interface. • It starts with a simple program to display a welcome screen and calendar. • A final version would use a graphical interface to input tasks and events onto a calendar, remind the user of events, and save the calendar to and load it from a file.

  16. Calendar Example Continued

  17. Modifications to an Already Working Program • In this style, students are given a working program with much of the code provided. Some sections would be incomplete and need filling in and some sections would need to be reworked. Students could also add additional functionality. • One thing this allows is for students to create more meaningful programs and practice working with existing code. • A drawback is that students may not understand much of the code in their program and feel less personal ownership of it.

  18. Example: An Organizer’s Address Book • This example is a program in Java that students might be expected to work with and further develop in CS161 (Beginning Java Programming). • They could start with an address book program that runs, but only displays a single, hard-coded contact and non-functioning GUI interface • The final version would be a multi-page address book that can be loaded and saved and organized.

  19. Address Book Example Continued

  20. Pros & Cons: A Summary

  21. What Next? • The next step will be to decide which of these styles of platform or what combination of them to use. • After that, we will need to decide on the type of program to use. • The Organizer shown in the examples today is only one possible solution and may not be the best one. • Once these decisions are made, work can begin designing and implementing the platform that complements the current course curriculum for the first few courses students take.

  22. How Can Microsoft Help? • Continued Advice on Style of Platform Choice • Suggestions on Type of Platform • Help Arrange Face to Face Meeting at Microsoft to Discuss Platforms for Learning with Microsoft Employees • ???

More Related