Computer Science and Software Engineering

advertisement
Computer Science
and
Software Engineering
Rose Hoffmann
Catholic Memorial High School
PILOT SCHOOLS
Rose Hoffmann – Catholic Memorial High School
Lori Hunt – Middleton High School
Gerard Iserloth – Delevan-Darian High School
Terri Tessmann – Franklin High School
Nathan Nolte – Fox Valley Lutheran High School
CSE Course Description
Open doors in any career with computer science!
Students create apps for mobile devices, automate
tasks in a variety of languages, find patterns in
data, and interpret simulations. Students
collaborate to create and present solutions that can
improve people’s lives.
How will computing and connectivity transform
your world?
Computer Science and Software
Engineering (CSE) is a new PLTW course
being offered for the 2014-2015 school
year.
Students work in teams to develop
computational thinking and solve
problems.
The course covers the College Board’s
new CS Principles framework. (testing in May,
2017)
The course does not aim to teach mastery of a
single programming language but aims instead
to develop computational thinking, to
generate excitement about the field of
computing, and to introduce computational
tools that foster creativity.
The course also aims to engage students to
consider issues raised by the present and
future societal impact of computing.
Computer Science & Software
Engineering
• Alignment with CSTA, NGSS, Common Core,
and other standards will be available through
PLTW Alignment web-based tool
CSE
• The course is planned for a rigorous pace, and
it is likely to contain more material than a
skilled teacher new to the course will be able
to complete in the first iteration. Building
enthusiasm for rigorous computer science
among students is a primary goal of the
course.
4 major units
• Unit 1 Algorithms, Graphics, and
Graphical User Interfaces (40%)
• Unit 2 The Internet (17%)
• Unit 3 Raining Reigning Data
Big data sets (16%)
• Unit 4 Intelligent Behavior
(27%)
UNIT 1 - goal
• excite students about programming
• build their algorithmic thinking and ability to use
abstraction.
• Emphasize student creativity working with Scratch, App
Inventor, and Python
– to tell graphical stories
– publish games and Android applications
– explore various development environments and programming
techniques.
– create original code, read and modify code provided from other
sources.
– Agile software development
– Explore career paths tied to computing
1.1 Algorithms and Agile Development - SCRATCH
1.1 Algorithms and Agile Development
goals
•
•
•
•
•
•
•
•
Introduction to programming at novice level
Pair programming
Scratch – audio and visual elements
Algorithmic problems
How computing affects our lives
Explore tools for collaboration
Roles that variables fulfill
Introduction to the conventions of objectoriented programming
1.2 Mobile App Design -APP INVENTOR
1.2 Mobile App Design goals
•
•
•
•
Analyzing existing code
Emphasis on roles of variables
Create Android app they have designed
Introduction to binary representations of
numbers, letters, colors, images, etc.
• Minor modifications on complex code
• Incorporate event handlers in meaningful
ways
A
P
P
I
N
V
E
N
T
O
R
• Lesson 1.3
Images and Object Oriented Libraries
PYTHON
1.3 Images and Object-Oriented
Libraries - goals
• All information is bits
• Simulate program execution in model
assembly language
• Transfer understanding of algorithms to
Python
• Functional, imperative, and declarative
programming paradigms with Python
• Variable types, arrays, array manipulations
1.3 Images and Object-Oriented
Libraries – goals (cont’d)
•
•
•
•
•
Manipulate image files – pixel data
Use code libraries – higher level abstraction
Use documentation
Prisoner’s Dilemma + GitHub
Create image processing function
• Lesson 1.4
GUIs in Python
Human-Computer Interaction
Tkinter
1.4 GUIs in Python
•
•
•
•
•
•
Abstraction with class of objects
Human-computer interaction
Object-oriented concepts
Methods to affect object’s state
Tkinter Canvas for drawing and animation
Tkinter toolbox of GUI widgets.
Unit 2: The Internet
• more concrete understanding of the Internet
• PHP and SQL to structure and access a database
hosted on a remote server
• HTML and CSS
• experiment with JavaScript for dynamic content
• history and workings of the Internet
• security, privacy, and democracy
• Cyber security
• Career paths in cyber security, web development
and information technology highlighted
2.1 The Internet and The Web goals
• Understanding – set of computers exchanging bits in
packets
• Students learn components of their digital footprint
• Compare web pages – designs, strengths, weaknesses
• Trustworthiness of web-based media
• Study data flow
• DNS and IP hierarchical nature
• HTML & CSS
• encryption
2.2 Shopping and Social on the Web
goals
• Roles of client-sided code, server-sided code,
and databases in delivering interactive web
content
• Collaborate with art students to publish
content on the Web
• Access SQL database from secure shell
command line as well as through PHP
2.3 Security and Cryptography goals
• Students invest in maintaining online security
• Improve personal cyber security hygiene
• Focus on cyber security from the perspectives
of the user, software developer, business,
nation, citizen
• Explore parallel strands in encryption and
security
• Explore efficiency of algorithms, and effect of
input
Unit 3: Raining Reigning Data
• see the availability of large-scale data
collection
• Students examine very large data sets tied to
themselves as well as to areas of work and
society.
• data visualization techniques
• apply algorithmic thinking and automation
when considering questions that have answers
embedded in data.
3.1 Visualizing Data - goals
• Analyze sets of large data and interpret
patterns
• Draw conclusions from relevant data
• Weigh societal concerns about collection and
persistence of Big Data
Big Data
• Visualization - use Python to make useful
graphic representations of data
• Excel spreadsheet programming and cell
manipulation
• Scatter plots and best-fit-lines
• Monte Carlo simulation – association
between two variables
3.2 Discovering Knowledge from Data
goals
• Create range of visualizations to analyze complex
sets of large data and interpret the patterns
• Geographic perspectives and facial recognition
• Use of heat maps and directed graphs
• Experiment with object recognition and face
recognition
• Discover clustering and association patterns
lurking in data sets
• Choose question and answer using large data
Unit 4: Intelligent Behavior
emergence of intelligent behavior is explored from 3 distinct
approaches
• Single autonomous machines
• Human crowd sourcing of data
• Separate algorithmic agents working in
parallel
Unit 4: Intelligent Behavior - lessons
• Intelligent Machines
• Cloud Sourcing Data with Mobile Computing
• Interpreting Simulations
4.1 Intelligent Machines
• Hardware layer of computing from electrical
breadboards to robotic units
• Automate behaviors by programming in C++
• Use programming techniques to manipulate
Arduino robotic equipment
• Use of programming to adapt robots behavior
to make intelligent decisions about when to
disobey its operator
• Implementing autonomous behavior
4.2 Cloud Sourcing Data with Mobile
Computing
• Tie together themes of Big Data, Internet,
societal impact
• Collect and visualize data by combining mobile
and web technologies
• Identify need that can be met with
– Mobile app
– Analysis of large data set
– Or Combination of the 2
4.3 Predicting, Understanding and
Communication with Simulation
• Using simulations to produce meaningful
– Explanations
– Illustrations
– predictions
• Explore agent-based GUI simulations in
NetLogo
– interpret results
– modify agents’ behaviors – changing parameter
values
How will computing
and connectivity
transform your
world?
PILOT SCHOOLS
 Rose Hoffmann – Catholic Memorial High School
• rhoffmann@catholicmemorial.net
 Lori Hunt – Middleton High School
• lhunt@mcpasd.k12.wi.us
 Gerard Iserloth – Delevan-Darian High School
• jiserloth@ddschools.org
 Terri Tessmann – Franklin High School
• Terri.Tessmann@Franklin.k12.wi.us
 Nathan Nolte – Fox Valley Lutheran High School
• NNolte@FVLHS.ORG
Download