ctf & cse using the udacity java cs mooc platform
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
CTF & CSE Using the Udacity Java CS MOOC Platform
Wordsmithing & Rearrangements but limited authoring is by Gerry
Donaldson.
Attribution – Slides that describe substantial content,pedagogy and resources of the Udacity platform werecopied directly or indirectly from the Udacity courseweb site. Those materials were reorganized andparaphrased for this presentation.
University of Calgary CSE Teachers Symposium 20 June 2014
Introduction to Programming in Java
Udacity Course Syllabus1. Intro to Computers & Java2. Intro to Classes & Objects3. Graphics4. Fundamental Data Types5. Decisions (Branching)6. Iterations (Loops)7. Arrays & ArrayLists 8. Methods 9. Inheritance
3 and 5 Credit Alberta Education Courses Based on Udacity MOOC
Computer Science Education 101 (3 credits)# Lesson Assignment Big Java 5th Edition
SectionsCSE 1010, CSE 1110, CSE
11201 Introductio
nBlueJ Installation
1.1 - 1.7 Introduction 1010 (Nil) Computer Science 1
2 Objects Draft Problem Set 1Final Problem Set 1
2.1 - 2.8 Using Objects2.9 - 2.10 Graphics
(Ellipses, Lines, Text, Color)
1110 (Nil) Structured Programming 12110 (1120) Procedural Programming 1[ 2140 Second Lang Programming 1 ]
3 Classes Draft Problem Set 2Final Problem Set 2
3.1 - 3.7 Implementing Classes
3.8 Graphics (Shape Classes)
1110 (Nil) Structured Programming 12110 (1120) Procedural Programming 1
4 Fundamental Data Types
No MOOC Assignment
4.1 – 4.5 Fundamental Data Types
2120 Data Structures 1 (first part)
5.1
Decisions Draft Problem Set 3Final Problem Set 3
5.1 – 5.8 Decisions 1120 (1110) – Structured Programming 2
5.2
Decisions No MOOC Assignment
1120 (1110) – Structured Programming 2
3 and 5 Credit Alberta Education Courses Based on Udacity MOOC
Computer Science Education 201 (3 credits)# Lesson Assignment Big Java 5th Edition
SectionsCSE 2110, CSE 2120, CSE
29106.1
Loops Draft Problem Set 4Final Problem Set 4
6.1 – 6.9 Loops6.10 Using a Debugger
1120 (1110) – Structured Programming 2
6.2
Loops Draft Problem Set 5Final Problem Set 5
6.1 – 6.9 Loops6.10 Using a Debugger
1120 (1110) – Structured Programming 2
7.1
Arrays and ArrayLists
Draft Problem Set 6Final Problem Set 6
7.1 Arrays7.2 Enhanced FOR Loop7.3 – 7.5 Algorithms7.6 Two-Dimensional Arrays7.7 ArrayLists7.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 ]
7.2
Arrays and ArrayLists
Draft Problem Set 7Final Problem Set 7
7.3
Arrays and ArrayLists
No MOOC Assignment
Not In
MOOC
Project Dossier Program
2910 CSE Project B
3 and 5 Credit Alberta Education Courses Based on Udacity MOOC
Computer Science Education 301 (3 credits)# Lesson Assignment Big Java 5th Edition
SectionsCSE 2910, CSE 3120, CSE
31308 More About
ClassesDraft Problem Set 8Final Problem Set 8
8.1 – 8.5 Designing Classes8.6 Unit Test Frameworks
3120 (2110) – OOP 1 (accessors, modifiers)
9 Interfaces and
Inheritance
Draft Problem Set 9Final Problem Set 9
9.1 – 9.3 Inheritance9.4 Polymorphism
3120 (2110) – OOP 1 (Encapsulation, Modularity, Polymorphism)
3130 (3120) – OOP 2 (Inheritance)
9 Interfaces and
Inheritance
No MOOC Assignment
10.1 – 10.6 Interfaces10.7-10.10 GUI (not in MOOC)
Not In MOOC
Project Program Dossier 12.1 – 12.2 OOP Design 3910 CSE Project D
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, JavadocsPublication --> Web Page: all files, executable JAR file, data files, Javadocs, Screen Recording
3 and 5 Credit Alberta Education Courses Based on Udacity MOOC
Computer Science Education 30 (5 credits)# Lesson Assignment Big Java 5th Edition Sections CSE 3110, 3120, 3130, 3310, 3910,8 More About
ClassesDraft Problem Set 8Final Problem Set 8
8.1 – 8.5 Designing Classes8.6 Unit Test Frameworks
3120 (2110) – OOP 1 (accessors, modifiers)
9 Interfaces and
Inheritance
Draft Problem Set 9Final Problem Set 9
9.1 – 9.3 Inheritance9.4 Polymorphism
3120 (2110) – OOP 1 (Encapsulation, Modularity, Polymorphism)
3130 (3120) – OOP 2 (Inheritance)
9 Interfaces and
Inheritance
No MOOC Assignment
10.1 – 10.6 Interfaces10.7-10.10 GUI (not in MOOC)
Not In MOOC
Recursion No MOOC Assignment
13.1 – 13.6 Recursion[ Kjell Tutorials 70-74 ]
3310 (3110, 3120) Recursive Algorithms 1
Not In MOOC
Sorting & Searching
No MOOC Assignment
14.1 – 14.8 Sorting & Searching
2010 (1010, 1120) – Com Science 2 – Sort, Search, Efficiency, Coupling, Merging
3110 (2120) – Iterative Algorithm 1 - Sequential & Binary Search. Bubble, Selection, Insertion, Merge Sorts.
Not In MOOC
Project Program Dossier 12.1 – 12.2 OOP Design 3910 CSE Project D
NanodegreesIndustry credentials for jobs in techCompact, hands-on, and flexible
online curriculumDeveloped between Udacity and
partner companies in Silicon Valley and beyond
Companies build curricula for their own employees
NanodegreesExample: 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 Pagehttps://
www.udacity.com/course/cs046
Sign Up For An Account.
Verify From Your Email Account.
An email verifies your account.
Typical Learning Progression
MASTERY LEARNINGEvery task on every screen had to be100% completed before certificatewas awarded!
Lesson == Video Instruction withPresentation, Examples & Interaction.
Problem Set Draft == Several PracticeExercises Code is submitted online!
Problem Set Final == Extension ofDraft Exercises == Increased Difficulty.
Midterm & Final Done online. Allresources may be accessed.
Textbook Parallels Udacity Course
Textbook worksfor teachers:• Test Banks• Exercises with solutions.• PowerPoints• Explanations
Not neededFor Students!
Horstmann Gifts Resources
Note: Above Yellow Highlighting Emphasis Added by Gerry Donaldson.
San Jose Confirms Horstmann
Udacity Confirms Horstmann
Develop code in BlueJ IDEIDE: Integrated Development EnvironmentBlueJ == A free Java Development Environment designed for beginners
http://www.bluej.org/
Install BlueJ with JDKJDK == Java Development Kit
Launch BlueJ IDE
Create a BlueJ ProjectProject 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 classpublic 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, BUTFree Certificates Are Discontinued.