Computer Science and Software Engineering (CSE) Course

Download Report

Transcript Computer Science and Software Engineering (CSE) Course

Computer Science and Software
Engineering
Pilot Program – So Far
Presenters
• Kevin Clevenger
• Blue Springs High School
• Current PLTW courses available at this school
• Elementary - Pilot
• Middle School – GTT
• High School – BM, IED, POE, DE, EDD
• CSE
• CSE Classes
• 2 sections of 40 students (35 male and 5 female students)
• 17 years teaching – 9 years teaching AP Computer Science
Presenters
• Mary Howard
• Kearney
• Current PLTW Courses available at this school
•
•
•
•
Middle School – GTT (All 6th – DM, all 7th EE & GA)
Junior High – GTT (8th elective – AR)
High School – Engr track: IED, POE & CSE
High School – Biomed track: PBS, HBS
• CSE Classes
• 1 sections of 24 students (19 male and 5 female students)
• 22 years in Information Technology before teaching
Presenters
• Vern Larson
• Smithville High School
• Current PLTW courses available at this school
• Middle School – GTT AR and DM
• High school – IED, POE, DE, EDD
• And CSE
• CSE class
• 1 section of 10 male students
• Retired from IBM
What we are going to cover
• What is Computer Science
• Why should I study Computer Science
• What is the PLTW CSE course about?
• Our experiences so far
• Questions and hopefully answers
What is Computer Science?
• Study of what we do with information
• How we gather it
• How we mine data we want from it
• How computers can mine data from enormous amounts of data
• How the Internet has changed societies world-wide
• Study of algorithms and abstractions
• Algorithms ≈ what you can teach a computer
• Which functions (I-O) can be efficiently computed?
• How can we work with generalities and make something work
• Study of problem solving
• How do we write instructions to solve similar problems rather than how do we solve this one problem
• Study of how the hardware works
• Study of how the software works
• Study of how the software and hardware work together
Keyboarding is NOT Computer
Science
It would be similar to say driver’s training is an automotive science course
Why should I study Computer
Science?
Or why should we be teaching it in a high school class?
It teaches and strengthens problem solving
skills.
• Problem Solving is a major part of the class
• Vinamrata Singal Computer science student at Stanford
• Six Reasons Why Studying Computer Science Is Worth It
• Problem Solving - 3. Suddenly, everything needs to be decomposed. My problem solving
skills have become immensely better after becoming a computer science major. In fact, now
everything I think of as a problem. Running late this morning? I break the problem down:
what is going to take the most time, and how can I effectively cut corners to avoid wasting
time? My parents often rely on me to fix anything technologically related (television, phones,
you name it). I approach every issue as a software problem: what could be wrong? Look for
the symptoms of the problem, see where it shows up. Understand the system, what could be
causing it. And then usually, I can get the solution.
It is becoming as essential to succeed as any
of the core subjects
• It has become a basic skill needed in all sciences, and most careers
• Department of Computer Science University of Freiburg
• Our modern world would be inconceivable without computer science. From engineering
to business management, medicine to biology, and language processing through to
psychology, sociology and archaeology – all the sciences today need
computer science for the evaluation of their data. At the same time the science of
processing information by means of computer programs provides the basis for the
internet and mobile telephony, for airlines and financial transactions, for DVD players,
televisions and cars that work – in short: for a functioning world. This creates a strong
practical relevance, which is exactly what makes the subject so exciting and is opening up
ever more employment opportunities or computer scientists. Computer Science,
therefore, is a forward-looking discipline that offers excellent prospects for graduates.
Half of STEM job openings
are for computer specialists
2.8 million STEM openings
0.5 million engineers
1.4 million CS
Reproduced in PCAST Report to the President, Engage to Excel: Producing One Million Additional College Graduates with
Degrees in STEM, Feb 2012, p.78.
Ok, but I am not going to be a computer geek
• Art
• Graphic Design
• Web Design
• Photography
• Automotive
• Diagnostics
• Control and monitoring of engines – and now sensing and braking
• Manufacturing
• CNC
• Automated manufacturing
• Security
• Facial recognition
• Information from cameras and sensors
• Tracking using RFID chips in shoes, and other garments
I asked my students if they knew of any career in
which computers, computing, or programming
was not involved
This is the look I got before they started laughing
There is a need for computer
literacy and knowledge.
Idaho Board Of Education Approves STEM
Rules.
• The Idaho Press Tribune Share to FacebookShare to Twitter (11/4)
reported the Idaho Board of Education has approved a proposal from
the Idaho Department of Education to expand enrollment in STEM
classes. Under the proposal, high school students would be able to
take “dual-credit courses in engineering and computer science and
Advanced Placement computer science classes to satisfy math or
science graduation requirements.” Currently, these courses are as
electives. The proposal must be approved by the Legislature.
Lawmakers propose increasing math, science
credits to graduate
• (11/5) As Wisconsin schools prepare their students and teachers for
more rigorous coursework, lawmakers have introduced legislation
that also would increase the number of math and science classes high
school students must take before they graduate. Under the proposal,
school districts could choose to accept up to one credit of computer
science to count as a math credit and could elect to accept
agricultural sciences courses as science credits.
What is the PLTW CSE course
about?
CSE is a concepts course.
• Computer Science and Software Engineering (CSE) Course Description
• Computer Science and Software Engineering (CSE) is year-long
specialization course within PLTW’s Pathway to Engineering. It is projectand problem-based, with students working in teams to develop
computational thinking and solve open-ended, practical problems that
occur in the real world. The course covers the College Board’s new CS
Principles framework. The course is not aiming to develop programming
expertise in one particular programming language; it aims instead to
develop computational thinking, to generate excitement about the field of
computing, and to introduce a variety of computational tools that foster
creativity. The course also aims to build students’ awareness of the
tremendous demand for computer specialists and for professionals in all
fields who have computational skills. Each unit focuses on one or more
computationally intensive career paths.
• Students practice problem solving with structured activities and
progress to open-ended projects and problems that require them to
develop planning, documentation, and communication skills. Problems
aim for ground-level entry with no ceiling, so that all students can
successfully engage the problems but students with greater
motivation, ability, or background knowledge will be challenged to
work further.
Units of Study
• Unit 1
Algorithms, Graphics, and Graphical User Interfaces
• Unit 2
The Web
• Programs used – Scratch, App Inventor, Python, and Tkinter
•
•
•
•
Impact on the user
HTML5, PHP Databases, and SQL
Data driven design
Security
• Unit 3
Discovery in Data and App Invention
• Unit 4
Predicting, Understanding, and Communicating with Simulation
• Biology and Computation
• Visualizing Data
• Discovering Knowledge in Data
• Cloud Sourcing with Mobile Computing
• Predicting, understanding, and communicating with Simulations
Some of the Software in Use
Scratch
•
FileZilla – Text Editing and FTP
•
•
Version 1.4 http://info.scratch.mit.edu/Scratch_1.4_Download
Python- Enthought Basic Canopy distribution
•
•
This includes many libraries, including SciPy, NumPy,
MatPlotLib, Python Image Lib, Qt4, iPython, etc.
http://www.enthought.com/products
HxD – Hex Editor and Disk Editor (raw data)
http://www.mozilla.org/en-US/firefox/new/
JD
Firefox
•
Firebug Firefox Add-on
•
http://getfirebug.com/
NetLogo –Environment Modeler
•
http://ccl.northwestern.edu/netlogo/download.shtml
GitHub -Software Collaboration Tool
•
http://windows.github.com/
Oracle Virtual Box “VM” software
•
https://filezilla-project.org/
Schools might choose another environment for text editing and
FTP if used in other existing CS courses. NetBeans for example,
would replace Notepad++ and FileZilla.
http://download.virtualbox.org/virtualbox/4.2.12/VirtualBox4.2.12-84980-Win.exe
•
http://mh-nexus.de/en/hxd/
•
http://java.decompiler.free.fr/?q=jdgui
MEGA - Molecular Evolutionary Genetics Analysis
•
http://www.megasoftware.net/
Notepad++
•
http://notepad-plus-plus.org/
App Inventor Blocks Editor
•
http://dl.google.com/dl/appinventor/installers/windows/appi
nventor_setup_installer_v_1_2.exe
App Inventor Companion
•
https://play.google.com/store/apps/details?id=edu.mit.appin
ventor.aicompanion2
The pilot process -progress report, feedback surveys,
videoconferences, curriculum updates, reports
PLTW’s next step
“open pilot”
College Board
• Trying to get everything done so they can have what they need for
designating what is an AP Computer Science course.
• Goal is to be ready by 2016
• Audit 2015
• Currently working on Computer Science Principles (CSP)
• http://cs10kcommunity.org/
Our Experiences – so far
We have gotten this far
Larson
• With Scratch for their project
• Created
• old Pong game
• combination of asteroids and Alien Attack
• Lessons covered Algorithms, Abstractions,
reiteration, conditionals,
• With App Inventor for their project
• Creating
• an A-B day calculator
• Basketball Statistics App
• Magic 8 Ball
• Lessons covered Agile Design Process,
Boolean, binary, octal, hex, database,
libraries
We have gotten this far
Clevenger
• With Scratch for their projects
• Created
• Pong
• Stick figure dodging game
• Lessons covered Algorithms, Abstractions,
iteration, conditionals, Agile Design Process
• With App Inventor for their Project
• Created
• Magic 8 Ball
• Math Flash Cards
• Music app
• Lessons covered Agile Design Process, Boolean,
Binary
• First Stages of Python
We have gotten this far
Howard
• With Scratch for their projects
• Created
• Zombie, maze games
• Lessons covered algorithms, abstractions,
iteration, conditionals, Agile Design Process
• With App Inventor for their Project
• Created
• Quiz app appropriate for one of their classes
• Lessons covered Agile Design Process,
Boolean, Binary
• First Stages of Python
Questions?