29
EDUCATIONAL APP DEVELOPMENT COURSE PROPOSAL 2015-01-03 (YYYY-MM-DD) version 1.0.5 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License . JAKUB RŮŽIČKA linkedin.com/in/littlerose [email protected]

Educational App Development

Embed Size (px)

Citation preview

Page 1: Educational App Development

EDUCATIONAL APP DEVELOPMENTCOURSE PROPOSAL

2015-01-03 (YYYY-MM-DD)version 1.0.5

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

JAKUB RŮŽIČKAlinkedin.com/in/[email protected]

Page 2: Educational App Development

OUTLINE

LITERATURE

SYLLABUS

TEACHING METHODS

EXAMINATION

ENTRY REQUIREMENTS

INTENDED LEARNING OUTCOMES

ANNOTATION

Page 3: Educational App Development

ANNOTATION

Page 4: Educational App Development

EDUCATIONAL APP DEVELOPMENT (COURSECODE)

Guarantor: Ing. Bořivoj Brdička, Ph.D.Lecturers: Ing. Bořivoj Brdička, Ph.D.

Mgr. Jakub RůžičkaGuaranteed by: Department of Information Technology

and Technical Education (41-KITTV)Faculty: Faculty of Education, Charles University in PragueSemester: summerCredits (ECTS): ?Language: English

Page 5: Educational App Development

ANNOTATION

The course gives a professional and academic introduction to cross-platform (web) educational application development founded on the understanding of the role of ICT in contemporary education.

Page 6: Educational App Development

INTENDED LEARNING OUTCOMES

Page 7: Educational App Development

INTENDED LEARNING OUTCOMES

Upon completion of the course, the students will:

■ understand the role, impact, and utilization of information and communications technology in education

■ be able to develop simple cross-platform (not only) educational applications using web programming languages and the Python general-purpose language

■ be familiar with other related topics beyond the scope of this course, based on the specialization of their choice (both technical and conceptual skills in a particular area)

Page 8: Educational App Development

ENTRY REQUIREMENTS

Page 9: Educational App Development

ENTRY REQUIREMENTS

This course is beginner-friendly. Everybody is welcome: with and without prior experience in a given field and/or programming experience; visiting and domestic students; students inside and outside the Faculty of Education(we'd love to see collaboration of students across various disciplines).

The course can serve as a door-opening moment for students who want to get started with developing important skills for the 21st Century, as well as for the more experienced ones, who can reinforce and expand their knowledge, learn by helping out their peers, use the course as a platform for developing their own ideas (approaching the lecturers when they need their help), and/or challenge themselves in areas beyond the scope of this course.

Page 10: Educational App Development

EXAMINATION

Page 11: Educational App Development

EXAMINATION

Defense of a simple educational application, developed in teams of 2-3 students, consisting of:

20% theoretical foundations(with an emphasis on a team’s specialization)

20% technical aspects of the project(review of code and its documentation)

40% functional aspects of the project(including suitability for its target group)

20% executive summary, presentation, answers to questions

The course is graded A (>=85%), B (>=70%), C (>=60%), D (>=50%), or E (<50%).A, B or C is needed to pass the course.

Page 12: Educational App Development

MOTIVATION

■ understanding the role of educational technology in today’s world

■ project-based utilization of the knowledge acquired in the first part of the course(theoretical foundations and ideas turned into a real product)

■ getting ready and gaining confidence for developing your own (non-)commercial app(an opportunity to try everything out ‘under supervision’ and get feedback on your work, an opportunity to create something you might want to go live with and put it on your resume =)))

■ practicing teamwork and project management skills

Note: The teams are expected to focus on a particular area (in the field of education) of their choice (the last block of the course will be tailored based on their requirements) and work on a project of extent and difficulty corresponding to the level of their proficiency (feeling ‘challenged’ but not ‘lost’).

Page 13: Educational App Development

TEACHING METHODS

Page 14: Educational App Development

F2F BLOCK TEACHING SESSIONS

■ interactive /live /real-time rather than ‘scripted’

■ lectures including hands-on tutorials /labs

■ BYOD (Bring Your Own Device) as you’ll need to set up and use your own development environment

Page 15: Educational App Development

DISTANCE LEARNING

■ open educational resources suggested for each session

■ Q&A forum(How do I ask a good question? stackoverflow.com/help/how-to-ask)

■ sharing your work in progress and discussing it with others

■ (if you agree) shared notes /study material /wiki /... created by the students of the course and for the students of the course(also reviewed and co-created by the lecturers)

■ voluntary ‘challenges’, development of small educational applications to reinforce your skills

Page 16: Educational App Development

GUEST LECTURERS (POSSIBLY WEBINARS)

■ authors, developers, researchers, prospective employers, …■ expertise in a particular core topic of our course and/or on request

(see session #04)

Note: Make the course our joint project. Let's adjust and approve the course structure and course requirements at the very beginning so that it supports your individual and our common goals (answering all ‘Why?’ questions should boost your self-motivation). Take the initiative and come up with ideas for lectures /course topics /guests /..., get involved by teaching what you know /are good at /what you want to improve in /..., contribute to the development of the course in order to obtain your desired life /professional /academic /... skills.

Page 17: Educational App Development

SYLLABUS

Page 18: Educational App Development

SESSION #01

21st Century Educational Technology

■ technology in education■ emerging literacies, theories (connectivism in detail), and instructional design models■ impact of technology on the future of education■ education research, educational data mining, learning analytics

Page 19: Educational App Development

SESSION #02

App Development: Introduction and Front End

■ programming language landscape■ introduction to web technologies■ introduction to the Linux command line■ introduction to Git

■ HTML5, CSS3, JavaScript, jQuery, Python■ SVG, HTML5 canvas, WebGL, three.js, Processing.js, and more■ UI and graphic design■ responsive web design

Page 20: Educational App Development

SESSION #03

App Development: Back End, Deployment and Beyond

■ SQL (hands-on SQLite) and NoSQL (hands-on MongoDB)■ server-side programming

(hands-on Python Flask and alternatives, including Node.js Express, Ruby on Rails, and PHP)■ user authentication and security, consuming APIs and data processing

■ AJAX, WebSocket■ popular web frameworks, libraries, and other tools

(templating engines, preprocessors, package managers, task runners, …)■ introduction to object oriented, functional, and asynchronous programming■ design patterns, style guides

■ PhoneGap /Apache Cordova (and native app comparison), Windows 10, Ubuntu HTML5■ AWS, Heroku (and alternatives)■ app testing, error handling, optimization, licensing

Page 21: Educational App Development

SESSION #04

Specialization and Final Project

■ discussion of conceptual and technical aspects of the proposed educational apps■ lecture topics based on requirements of the project teams

■ the crucial question of this section of this course is ‘What do you want to learn next?’(what is most meaningful to you with regard to your final project and/or your personal professional /academic goals and interests)

■ the topics can be as general (didactics, gamification, big data, marketing, RaspberryPi, …) or as specific (REST API development, social media integration, …) as you wish

Disclaimer: The content of the course might be subject to change based on pace, level of proficiency, and other requirements of the course group.

Page 22: Educational App Development

LITERATURE

Page 23: Educational App Development

LITERATURE

The students are not required to read any of the following publications and documents but might find them handy when looking for inspiration, reference, sample code, or when some part of the course takes their interest so that they want to follow it up with more in-depth self-directed study. Further online /paperback study resources, tutorials, libraries, frameworks, and other tools will be introduced within specific topics of the course.

Visit the Charles University in Prague Central Catalog at ckis.cuni.cz to access some of the books and/or their alternatives.

Page 24: Educational App Development

■ EDUTECH WIKI. TECFA's, 2015.

■ VOOGT, J.; KNEZEK G. ed. INTERNATIONAL HANDBOOK OF INFORMATION TECHNOLOGY IN PRIMARY AND SECONDARY EDUCATION. Springer International Handbooks of Education, 2009. ISBN: 978-0387733142.

■ PUREWAL, Semmy. LEARNING WEB APP DEVELOPMENT. O'Reilly Media, 2014. ISBN 978-144-9370-190.

■ NIXON, Robin. LEARNING PHP, MYSQL, JAVASCRIPT, CSS. 3rd edition. O'Reilly Media, 2014. ISBN 978-1-4919-4946-7.

■ FULTON, Steve and Jeff FULTON. HTML5 CANVAS. 2nd edition. O'Reilly Media, 2013. ISBN 14-493-3498-9.

■ PETERSON, Clarissa. LEARNING RESPONSIVE WEB DESIGN. O'Reilly Media, 2014. ISBN 9781449362942.

■ MCFARLAND, David S. JAVASCRIPT & JQUERY: THE MISSING MANUAL. O'Reilly Media, 2014. 3rd edition. ISBN 978-1-4919-4707-4.

■ CROCKFORD, Douglas. JAVASCRIPT: THE GOOD PARTS. O'Reilly Media, 2008. ISBN 9780596517748.

■ DAYLEY, Brad. JQUERY AND JAVASCRIPT PHRASEBOOK. Addison-Wesley Professional, 2014. ISBN 0321918967.

■ GASSTON, Peter. THE MODERN WEB. No Starch Press, 2013. ISBN 15-932-7487-4.

■ DAILEY, David, Jon FROST and Domenico STRAZZULLO. BUILDING WEB APPLICATIONS WITH SVG. Microsoft Press, 2012. ISBN 07-356-6012-3.

Page 25: Educational App Development

■ PARISI, Tony. PROGRAMMING 3D APPLICATIONS WITH HTML5 AND WEBGL. O'Reilly Media, 2014. ISBN 978-144-9362-966.

■ DIRKSEN, Jos. LEARNING THREE.JS. 2nd edition. Packt Publishing, 2015. ISBN 978-1784392215.

■ GRINBERG, Miguel. FLASK WEB DEVELOPMENT. O'Reilly Media, 2014. ISBN 14-493-7262-7.

■ WILSON, Jim R. NODE.JS THE RIGHT WAY. The Pragmatic Bookshelf, 2013. ISBN 978-193-7785-734.

■ BROWN, Ethan. WEB DEVELOPMENT WITH NODE AND EXPRESS. O'Reilly Media, 2014. ISBN 978-1-4919-4930-6.

■ LUTZ, Mark. LEARNING PYTHON. 5th edition. O'Reilly, 2013. ISBN 978-144-9355-739.

■ BEAULIEU, Alan. LEARNING SQL. 2nd edition. O'Reilly, 2009. ISBN 978-059-6520-830.

■ CHODOROW, Kristina. MONGODB: THE DEFINITIVE GUIDE. 2nd Edition. O'Reilly Media, 2013. ISBN 14-493-4468-2.

■ SHOTTS, William E. THE LINUX COMMAND LINE. No Starch Press, 2012. ISBN 978-1593273897.

■ CHACON, Scott and Ben STRAUB. PRO GIT. 2nd edition. Apress, 2014. ISBN 978-1484200773.

■ JACKSON, Jeffrey C. WEB TECHNOLOGIES: A COMPUTER SCIENCE PERSPECTIVE. Pearson, 2007. ISBN 978-013-1856-035.

■ CAMDEN, Raymond. APACHE CORDOVA IN ACTION. Manning Publications, 2015. ISBN 9781633430068.

Page 26: Educational App Development

■ STUTTARD, Dafydd and Marcus PINTO. WEB APPLICATION HACKER'S HANDBOOK. 2nd edition. Wiley, 2011. ISBN 978-1118026472.

■ ALCORN, Wade, Christian FRICHOT and Michele ORRÙ. THE BROWSER HACKER'S HANDBOOK. Wiley, 2014. ISBN 978-1118662090.

■ BURNHAM, Trevor. ASYNC JAVASCRIPT. Pragmatic Bookshelf, 2012. ISBN 9781937785277.

■ MACCAW, Alex. THE LITTLE BOOK ON COFEESCRIPT. O’Reilly Media, 2012. ISBN 1449321054.

■ PILLORA, Jamie. GETTING STARTED WITH GRUNT. Packt Publishing, 2014. ISBN 9781783980628.

■ BAUMGARTNER, Stefan. FRONT-END TOOLING WITH GULP, BOWER, AND YEOMAN. Manning Publications, 2016 [expected]. ISBN 9781617292743.

■ FRAIN, Ben. SAAS AND COMPASS FOR DESIGNERS. Packt Publishing, 2013. ISBN 9781849694544.

■ FLANAGAN, David and Yukihiro MATSUMOTO. THE RUBY PROGRAMMING LANGUAGE. O’Reilly Media, 2008. ISBN 0596516177.

■ HARTL, Michael. RUBY ON RAILS TUTORIAL. 3rd edition. Addison-Wesley Professional, 2015. ISBN 0134077709.

Page 27: Educational App Development

http://www.w3schools.com/https://developer.mozilla.orghttps://jquery.com/http://threejs.org/http://processingjs.org/https://www.virtualbox.org/http://www.ubuntu.com/http://stackexchange.com/siteshttp://stackoverflow.com/http://www.reddit.com/https://www.quora.com/https://git-scm.com/https://github.comhttps://bitbucket.org/https://www.python.org/http://flask.pocoo.org/https://nodejs.org/http://expressjs.com/https://www.sqlite.org/https://www.mongodb.org/

http://phonegap.com/https://developer.ubuntu.com/http://developer.android.com/https://developer.apple.com/https://dev.windows.comhttps://www.heroku.com/https://projects.apache.org/indexes/http://www.gnu.org/software/guix/package-list.htmlhttps://jsfiddle.net/http://codepen.io/http://learnpythonthehardway.org/https://github.com/vinta/awesome-pythonhttp://www.fullstackpython.com/https://realpython.comhttps://exploreflask.com/https://www.python.org/dev/peps/pep-0008/

http://www.html5rocks.com/http://html5doctor.com/https://css-tricks.comhttps://www.npmjs.com/http://bower.io/search/https://www.javascripting.comhttps://plugins.jquery.com/http://flask.pocoo.org/extensions/http://www.theodinproject.com/http://www.programmr.com/http://learnxinyminutes.com/https://projecteuler.net/http://coderbyte.com/https://code.org/https://coderdojo.comhttps://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenseshttps://www.owasp.org

Page 28: Educational App Development

https://www.khanacademy.org/https://www.coursera.org/https://www.udacity.com/https://edx.org/http://ocw.mit.edu/http://online.stanford.edu/http://www.extension.harvard.edu/http://webcast.berkeley.edu/http://nptel.ac.in/http://blog.agupieware.com/2014/05/online-learning-bachelors-level.htmlhttps://www.class-central.com/http://www.tutorialspoint.com/https://iversity.org/https://www.canvas.net/https://www.futurelearn.com/http://www.saylor.org/https://novoed.com/courseshttp://www.edventis.com/http://www.lynda.com/https://www.udemy.com/http://www.codecademy.com/https://www.codeschool.com/http://www.pluralsight.com/

http://tutsplus.com/https://teamtreehouse.com/https://www.raspberrypi.org/https://www.youtube.com/https://www.youtube.com/user/GoogleDevelopershttps://www.youtube.com/user/thenewbostonhttps://www.youtube.com/user/sentdex/https://www.youtube.com/user/MarakanaTechTVhttps://www.youtube.com/user/mycodeschool(…)http://www.ted.com/http://www.howstuffworks.com/https://www.wikipedia.org/http://www.oreilly.com/https://www.packtpub.com/http://www.manning.com/http://eu.wiley.com/http://www.elsevier.com/http://www.nostarch.com/http://store.elsevier.com/Syngress/IMP_76/http://www.pearsoned.co.uk/imprints/addison-wesley/https://pragprog.com/(…)

Self-directed learners, those who prefer distance /blended learning, those who want to know more, or those who don‘t want to rely on one source of information only might want to expand /complement /substitute different parts of the course on:

…and many other [yourfavoritesearchengine] it & learn it resources

Page 29: Educational App Development

EDUCATIONAL APP DEVELOPMENTCOURSE PROPOSAL

2015-01-03 (YYYY-MM-DD)version 1.0.5

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

JAKUB RŮŽIČKAlinkedin.com/in/[email protected]