Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CTF & CSE Using the Udacity Java CS MOOC Platform University of Calgary CSE Teachers Symposium 20 June 2014 Attribution – Slides that describe substantial content, pedagogy and resources of the Udacity platform were copied directly or indirectly from the Udacity course web site. Those materials were reorganized and paraphrased for this presentation. Wordsmithing & Rearrangements but limited authoring is by Gerry Donaldson. Introduction to Programming in Java Udacity Course Syllabus 1. Intro to Computers & Java 2. Intro to Classes & Objects 3. Graphics 4. Fundamental Data Types 5. Decisions (Branching) 6. Iterations (Loops) 3 and 5 Credit Alberta Education Courses Based on Udacity MOOC Computer Science Education 101 (3 credits) # 1 2 Lesson Introduction Objects 3 Classes Assignment BlueJ Installation Draft Problem Set 1 Final Problem Set 1 Draft Problem Set 2 Final Problem Set 2 Fundamental Data Types 5.1 Decisions No MOOC Assignment 5.2 Decisions No MOOC Assignment 4 Draft Problem Set 3 Final Problem Set 3 Big Java 5th Edition Sections CSE 1010, CSE 1110, CSE 1120 1.1 - 1.7 Introduction 2.1 - 2.8 Using Objects 2.9 - 2.10 Graphics (Ellipses, Lines, Text, Color) 3.1 - 3.7 Implementing Classes 3.8 Graphics (Shape Classes) 1010 (Nil) Computer Science 1 1110 (Nil) Structured Programming 1 2110 (1120) Procedural Programming 1 [ 2140 Second Lang Programming 1 ] 4.1 – 4.5 Fundamental Data Types 5.1 – 5.8 Decisions 2120 Data Structures 1 (first part) 1110 (Nil) Structured Programming 1 2110 (1120) Procedural Programming 1 1120 (1110) – Structured Programming 2 1120 (1110) – Structured Programming 2 3 and 5 Credit Alberta Education Courses Based on Udacity MOOC Computer Science Education 201 (3 credits) # Lesson 6.1 Loops 6.2 Loops 7.1 Arrays and ArrayLists 7.2 Arrays and ArrayLists 7.3 Arrays and ArrayLists Not Project In MO OC Assignment Draft Problem Set 4 Final Problem Set 4 Draft Problem Set 5 Final Problem Set 5 Draft Problem Set 6 Final Problem Set 6 Draft Problem Set 7 Final Problem Set 7 No MOOC Assignment Dossier Program Big Java 5th Edition Sections CSE 2110, CSE 2120, CSE 2910 6.1 – 6.9 Loops 6.10 Using a Debugger 1120 (1110) – Structured Programming 2 6.1 – 6.9 Loops 6.10 Using a Debugger 1120 (1110) – Structured Programming 2 7.1 Arrays 7.2 Enhanced FOR Loop 7.3 – 7.5 Algorithms 7.6 Two-Dimensional Arrays 7.7 ArrayLists 7.8 Regression Testing 2110 (1120) – Procedural Programming 1 2120 (2110) – Data Structures 1 – arrays (1D &2D) and records. Records are implemented as objects in Java. [ 3140 Second Language Programming 2 ] 2910 CSE Project B 3 and 5 Credit Alberta Education Courses Based on Udacity MOOC Computer Science Education 301 (3 credits) # 8 9 9 Lesson More About Classes Interfaces and Inheritance Interfaces and Inheritance Project Assignment Draft Problem Set 8 Final Problem Set 8 Draft Problem Set 9 Final Problem Set 9 No MOOC Assignment Program Dossier Big Java 5th Edition Sections 8.1 – 8.5 Designing Classes 8.6 Unit Test Frameworks 9.1 – 9.3 Inheritance 9.4 Polymorphism 10.1 – 10.6 Interfaces 10.7-10.10 GUI (not in MOOC) 12.1 – 12.2 OOP Design CSE 2910, CSE 3120, CSE 3130 3120 (2110) – OOP 1 (accessors, modifiers) 3120 (2110) – OOP 1 (Encapsulation, Modularity, Polymorphism) 3130 (3120) – OOP 2 (Inheritance) Not 3910 In MO OC Program Dossier Modelled After Dossier for International Baccalaureate Organization Analysis --> Problem Definition, Testing, Review Antecedents, Prototype Detailed Design --> Data Structures, Algorithms, Modular Organization The Program --> Style & Internal Documentation, Usability, Handling Errors, Evaluating Success Regression Testing --> Test Driven: JUnit Testing Documentation --> Hard copy of test output: Data Validity, User Documentation, Javadocs Publication --> Web Page: all files, executable JAR file, data files, Javadocs, Screen Recording CSE Project D 3 and 5 Credit Alberta Education Courses Based on Udacity MOOC Computer Science Education 30 (5 credits) # 8 9 9 Lesson More About Classes Interfaces and Inheritance Interfaces and Inheritance Assignment Draft Problem Set 8 Final Problem Set 8 Draft Problem Set 9 Final Problem Set 9 No MOOC Assignment Big Java 5th Edition Sections 8.1 – 8.5 Designing Classes 8.6 Unit Test Frameworks 9.1 – 9.3 Inheritance 9.4 Polymorphism 10.1 – 10.6 Interfaces 10.7-10.10 GUI (not in MOOC) CSE 3110, 3120, 3130, 3310, 3910, 3120 (2110) – OOP 1 (accessors, modifiers) 3120 (2110) – OOP 1 (Encapsulation, Modularity, Polymorphism) 3130 (3120) – OOP 2 (Inheritance) Not In MO OC Not In MO OC Recursion No MOOC Assignment 13.1 – 13.6 Recursion [ Kjell Tutorials 70-74 ] 3310 (3110, 3120) Recursive Algorithms 1 Sorting & Searching No MOOC Assignment 14.1 – 14.8 Sorting & Searching Not In MO OC Project Program Dossier 12.1 – 12.2 OOP Design 2010 (1010, 1120) – Com Science 2 – Sort, Search, Efficiency, Coupling, Merging 3110 (2120) – Iterative Algorithm 1 - Sequential & Binary Search. Bubble, Selection, Insertion, Merge Sorts. 3910 CSE Project D Nanodegrees Industry credentials for jobs in tech Compact, hands-on, and flexible online curriculum Developed between Udacity and partner companies in Silicon Valley and beyond Companies build curricula for their own employees Nanodegrees Example: AT&T is partnered with Udacity. Nanodegrees are being developed for Front-End Web Developers, Back-End Web Developers, and Mobile iOS Developers. AT&T is reserving 100 internships for graduates of these programs. Nanodegrees Course Home Page https://www.udacity.com/course/cs046 Sign Up For An Account. Verify From Your Email Account. An email verifies your account. Typical Learning Progression MASTERY LEARNING Every task on every screen had to be 100% completed before certificate was awarded! Lesson == Video Instruction with Presentation, Examples & Interaction. Problem Set Draft == Several Practice Exercises Code is submitted online! Problem Set Final == Extension of Draft Exercises == Increased Difficulty. Midterm & Final Done online. All resources may be accessed. Textbook Parallels Udacity Course Textbook works for teachers: • Test Banks • Exercises with solutions. • PowerPoints • Explanations Not needed For Students! Horstmann Gifts Resources Note: Above Yellow Highlighting Emphasis Added by Gerry Donaldson. San Jose Confirms Horstmann Udacity Confirms Horstmann Develop code in BlueJ IDE IDE: Integrated Development Environment BlueJ == A free Java Development Environment designed for beginners http://www.bluej.org/ Install BlueJ with JDK JDK == Java Development Kit Launch BlueJ IDE Create a BlueJ Project Project New Project … Select Directory “PrintName” Create a “class” (chunk of code) New Class… “DoName” Ok Open the “doName” class file. Double click the “DoName” class icon. Striped icon == Not Yet Compiled. A Generic Template Appears. Select and delete the default code. Add main method to class public static void main(String [] args) { System.out.print("My name is Gerry."); } Compile Your Program. Compiling converts source code to ML. Check for syntax errors. Check that code compiled Close. Create new object from class. Right click class icon Select “ void main (String[ ] args) ” Execute “Ok” & View Output. “Discussions” allow exchange of help & advice with other students. See next slide for detailed example. Select for detailed discussions. Read Past Detailed Discussions! Exercises Are Coded Comments. Copy code from BlueJ to Canvas. Test Code On Canvas Window. Output Appears Below Code. Course Credit at San Jose SU Certificates Could Be Earned, BUT Free Certificates Are Discontinued.