Download Introduction to Programming in Java

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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.