Middle School Exploring Computer Science: Difference between revisions

From Computer Science Wiki
No edit summary
No edit summary
 
(62 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Computer science is the study of computers and algorithmic processes, including their principles, their hardware and software designs, their applications, and their impact on society." --ACM/CSTA Model Curriculum for K-12 Computer Science
__NOTOC__


<center>
<blockquote style="padding: 5px; background-color: #EC7063; border: solid thin gray;">
  [[File:Exclamation.png]] This course is archived, and no longer updated. This course was delivered during the 2016 - 2017 school year.
</blockquote>
</center>


= Enduring Understandings =
1. You can design and create software to solve problems


2. Computer scientists are a tribe who use specific tools, languages, and techniques to understand and solve problems (source).
The purpose of this wiki is to support student learning for computer science. The intended audience for this wiki is students who are enrolled in Exploring Computer Science.


3. If you want to know what is true, you must must know the depth of a thing
<table cellspacing="10" style="width:100%;">
<tr>
<td style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E6F9E6; align:right;vertical-align:top;" colspan="2">
== [[File:news.png]] news==


=== News for June 2016 ===


=Computational Thinking standards=
New content is being added a furious pace, and I am delighted to have learned from [https://cs50.harvard.edu/ CS50]. This is a wonderful resource I will use going forward to support student learning in computer science. As always, if you are interested in helping contribute to this wiki, please send an email to bill@mackenty.org. [[User:Mr. MacKenty|Mr. MacKenty]] ([[User talk:Mr. MacKenty|talk]]) 12:08, 2 June 2016 (CEST)


*[[Use predefined functions and parameters, classes and methods to divide a complex problem into simpler parts.]]
=== News for May 2016 ===
*[[Describe a software development process used to solve software problems (e.g., design, coding, testing, verification).]]
*[[Explain how sequence, selection, iteration, and recursion are building blocks of algorithms.]]
*[[Compare techniques for analyzing massive data collections.]]
*[[Describe the relationship between binary and hexadecimal representations.]]
*[[Analyze the representation and trade-offs among various forms of digital information.]]
*[[Describe how various types of data are stored in a computer system.]]
*[[Use modeling and simulation to represent and understand natural phenomena.]]
*[[Discuss the value of abstraction to manage problem complexity.]]
*[[Describe the concept of parallel processing as a strategy to solve large problems.]]
*[[Describe how computation shares features with art and music by translating human intention into an artifact.]]


=Collaboration standards=
I am building all of our course stuff for next year. If you would like to help (and earn a grade increase) let me know. Please remember I'm still working on stuff - this site is under construction. [[User:Bmackenty|Bmackenty]] ([[User talk:Bmackenty|talk]]) 09:57, 6 May 2016 (CEST)


*[[Work in a team to design and develop a software artifact.]]
=== News for April 2016 ===
*[[Use collaborative tools to communicate with project team members (e.g., discussion threads, wikis, blogs, version control, etc.).]]
*[[Describe how computing enhances traditional forms and enables new forms of experience, expression, communication, and collaboration]]
*[[Identify how collaboration influences the design and development of software products.]]


=Computing Practice and Programming standards=
Welcome to our new classroom website. I am still moving stuff from moodle to here. We are learning about and applying our knowledge about [[design]]. I have gotten some feedback that some of you think this is "boring but important". I agree.  Please remember what I told you: 1 hour of good design saves you '''hundreds of hours fixing problems later'''.


*[[Create and organize Web pages through the use of a variety of web programming design tools.]]
</td>
*[[Use mobile devices/emulators to design, develop, and implement mobile computing applications.]]
</tr>
*[[Use various debugging and testing methods to ensure program correctness (e.g., test cases, unit testing, white box, black box, integration testing)]]
<tr>
*[[Apply analysis, design, and implementation techniques to solve problems (e.g., use one or more software lifecycle models).]]
<td style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:lightyellow; align:right;vertical-align:top;" colspan="2">
*[[Use Application Program Interfaces (APIs) and libraries to facilitate programming solutions.]]
*[[Select appropriate file formats for various types and uses of data.]]
*[[Describe a variety of programming languages available to solve problems and develop systems.]]
*[[Explain the program execution process. ]]
*[[Explain the principles of security by examining encryption, cryptography, and authentication techniques.]]
*[[Explore a variety of careers to which computing is central.]]
*[[Describe techniques for locating and collecting small and large-scale data sets. ]]
*[[Describe how mathematical and statistical functions, sets, and logic are used in computation.]]


=Computers and Communications Devices standards=
== [[File:calendar.png]] Our class meetings ==


*[[Describe the unique features of computers embedded in mobile devices and vehicles (e.g., cell phones, automobiles, airplanes).]]
*[[Develop criteria for purchasing or upgrading computer system hardware.]]
*[[Describe the principal components of computer organization (e.g., input, output, processing, and storage).]]
*[[Compare various forms of input and output. ]]
*[[Explain the multiple levels of hardware and software that support program execution (e.g., compilers, interpreters, operating systems, networks).]]
*[[Apply strategies for identifying and solving routine hardware and software problems that occur in everyday life.]]
*[[Compare and contrast client-server and peer-to-peer network strategies.]]
*[[Explain the basic components of computer networks (e.g., servers, file protection, routing, spoolers and queues, shared resources, and fault-tolerance).]]
*[[Describe how the Internet facilitates global communication.]]
*[[Describe the major applications of artificial intelligence and robotics.]]


=Community, Global, and Ethical Impacts standards=
{| style="width: 95%;" class="wikitable sortable"
|-
! Date of lesson !! Our Big idea !! Our class notes !! Programming skills we are building
|-style="background-color:#E6F9E6;"
| June 9 2016 || [[Computer organization]]  || [[June 9th 2016 Lesson Notes | Click here for notes and homework]] ||  [[Computer organization]] - [https://docs.google.com/a/aswarsaw.org/document/d/1O6qhReNpH8e0i1kqFRuns0Spx3xwTI9AoUKzJ5Q1Omw/edit?usp=sharing click here for a 2 question quiz]
|-
| June 6 2016 || [[Computer organization]]  || [[June 6th 2016 Lesson Notes | Click here for notes and homework]] ||  [[Computer organization]] - [https://docs.google.com/document/d/1Zfv-38LSC1GwzgzZFLrDmPPSh1d30KeJjadg8sxEPQY/edit click here for our work]
|-
| June 2 2016 ||[[Problem Sets]]  || [[June 2nd 2016 Lesson Notes | Click here for notes and homework]] ||  [[Problem Sets]] - [http://cdn.cs50.net/2015/fall/psets/1/pset1/pset1.html please click here and scroll down]
|-
| May 31 2016 || [[Computational thinking, problem-solving and programming | computational thinking]] || [[May 31st 2016 Lesson Notes | Click here for notes and homework]] ||  [[networks]] [https://docs.google.com/document/d/1S-UPPVvLsO2lrosCfsL7ZYwS_3Apos_rAKyEr0nNGZI/edit click here for project objectives]
|-
| May 27 2016 || [[Computational thinking, problem-solving and programming | computational thinking]] || [[May 27th 2016 Lesson Notes | Click here for notes and homework]] || [[Computational thinking, problem-solving and programming | computational thinking]]  - [[My priorities, my time]]
|-
| May 24 2016 || [[Computational thinking, problem-solving and programming | computational thinking]] || [[May 24th 2016 Lesson Notes | Click here for notes and homework]] || [[Computational thinking, problem-solving and programming | computational thinking]]  - [[My priorities, my time]]
|-
| May 20 2016 || [[Networks]] || [[May 16th 2016 Lesson Notes | Click here for notes and homework]] || [[networks]] [https://docs.google.com/a/aswarsaw.org/document/d/1h8HtuoaYj6u7U-44VjR2uv634udZQTBCh-yu4iryac8/edit?usp=sharing please click here for a formative quiz]
|-
| May 16 2016 || [[Networks]] || [[May 16th 2016 Lesson Notes | Click here for notes and homework]] || [[networks]] [https://docs.google.com/document/d/1S-UPPVvLsO2lrosCfsL7ZYwS_3Apos_rAKyEr0nNGZI/edit click here for project objectives]
|-
| May 14 2016 || [[Networks]] || [[May 14th 2016 Lesson Notes | Click here for notes and homework]] || [[networks]] [https://docs.google.com/document/d/1S-UPPVvLsO2lrosCfsL7ZYwS_3Apos_rAKyEr0nNGZI/edit click here for project objectives]
|-
| May 12 2016 || Networks || [[May 12th 2016 Lesson Notes | Click here for notes and homework]] || [[networks]] [https://docs.google.com/document/d/1S-UPPVvLsO2lrosCfsL7ZYwS_3Apos_rAKyEr0nNGZI/edit click here for project objectives]
|-
| May 6 2016 || Pseudocode|| [[May 6th 2016 Lesson Notes | Click here for notes and homework]] || [[pseudocode]] - [https://docs.google.com/document/d/1XAtBm0zQhrDOo9_G7SmxiqJCJCYXSoYJQK2cOO4eEzk/edit summative quiz]
|-
| May 4 2016 || Pseudocode|| [[May 4th 2016 Lesson Notes | Click here for notes and homework]] || [[pseudocode]]
|-
| April 19 2016 || Design  [[1516 MS Design Projects | (click here)]] || [[April 19th 2016 Lesson Notes | Click here for notes and homework]] || [https://docs.google.com/document/d/1hguotKg1uFbPau3PVveiUdRACp83azAvWUyy20IcXDM/edit none - exam]
|-
| April 15 2016 || Design  [[1516 MS Design Projects | (click here)]] || [[April 15th 2016 Lesson Notes | Click here for notes and homework]] || [[Design process]]
|-
| April 13 2016 || Design  [[1516 MS Design Projects | (click here)]] || [[April 13th 2016 Lesson Notes | Click here for notes and homework]] || [[functions]]
|-
| April 11 2016 || Design  [[1516 MS Design Projects | (click here)]] || [[April 11th 2016 Lesson Notes | Click here for notes and homework]] || [[debugging]]
|-
| April 7 2016 || Design  [[1516 MS Design Projects | (click here)]] || [[April 7th 2016 Lesson Notes | Click here for notes and homework]] || [[email validator ]]
|}


*[[Compare appropriate and inappropriate social networking behaviors.]]
{| style="width: 95%;" class="wikitable"
*[[Discuss the impact of computing technology on business and commerce (e.g., automated tracking of goods, automated financial transactions, e-commerce, cloud computing).]]
|-
*[[Describe the role that adaptive technology can play in the lives of people with special needs.]]
! [[Calendar | Click for calendar]] !!  style="background-color: #FAAFBA;" |  [[How to ask for help | Help! My code isn't working!]] !! [[Big ideas in computer science | Click here for big ideas in computer science]]  
*[[Compare the positive and negative impacts of technology on culture (e.g., social networking, delivery of news and other public media, and intercultural communication).]]
|}
*[[Describe strategies for determining the reliability of information found on the Internet.]]
</td>
*[[Distinguish between information access and information distribution rights.]]
</tr>
*[[Describe how different kinds of software licenses can be used to share and protect intellectual property.]]
<tr>
*[[Discuss the social and economic implications associated with hacking and software piracy.]]
*[[Describe different ways in which software is created and shared and their benefits and drawbacks (commercial software, public domain software, open source development).]]
*[[Describe security and privacy issues that relate to computer networks.]]
*[[Explain the impact of the digital divide on access to critical information.]]


<td style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E6F9E6; align:right;vertical-align:top;">


==MS Design Cycle Ideas==
== [[File:circle.png]] Helpful resources ==


<syntaxhighlight lang="python" line="1" >
=== general computer science resources ===
import random
 
import sys
* [[Media:Punctuation marks.pdf | Click here to learn what to call a {,(,:,':|, etc...]]
board = [1,2,3,4,5,6,7,8,9]
 
   
=== software you should install / tools you should know ===
x_squares = []
 
o_squares = []
* [https://www.sublimetext.com/3 Sublime 3 text editor]
* [[pastebin]]
def update_board(grid_place):
 
        if grid_place in x_squares:
=== wiki help ===
            token = "X"
 
        elif grid_place in o_squares:
* [https://en.wikipedia.org/wiki/Help:Cheatsheet How to edit a wiki]
            token = "O"
 
        else:
=== Our class spotify playlist ===  
            token = str(grid_place)
 
        return token
* [https://open.spotify.com/user/bmackenty/playlist/3NBPWLP7Px0Y6et13R1Kma click here for our spotify list]
</syntaxhighlight>
 
 
 
</td>
 
<td style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:#E6F9E6; align:right;vertical-align:top;">
 
== [[Image:about.png]] About this course ==
 
=== Classroom Rules ===
 
* [[Our Classroom Rules]]
 
=== Standards ===
 
* [[Middle School Exploring computer science standards]]
 
=== Grading ===
* [[Media:Participationrubric-cfa.pdf ‎| Classroom participation rubric]]
* [[Media:ASW HS ApproachesToLearning Rubric.pdf ‎| Approaches to Learning rubric]]
* [[Media:Common Core Rubrics Gr11-12.pdf | Informative writing rubric]]
* [[Media:Command-terms-IB.pdf | What does it mean when you are asked to "describe", "analyse", or "compare"?]]
 
=== Academic Honesty ===
 
* [[Academic Integrity]]
</td>
</tr>
<tr>
 
 
<td style="margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0 1em 1em 1em; background-color:lightgray; align:right;vertical-align:top;" colspan="2">
 
== [[Image:credit.png]] Credits ==
* Icons used with tremendous gratitude by [http://www.freepik.com/ Freepik] from [http://www.flaticon.com/ flaticon]
</td>
</tr>
</table>
[[Category:Middle School Exploring Computer Science]]

Latest revision as of 12:36, 29 June 2016


Exclamation.png This course is archived, and no longer updated. This course was delivered during the 2016 - 2017 school year.


The purpose of this wiki is to support student learning for computer science. The intended audience for this wiki is students who are enrolled in Exploring Computer Science.

News.png news[edit]

News for June 2016[edit]

New content is being added a furious pace, and I am delighted to have learned from CS50. This is a wonderful resource I will use going forward to support student learning in computer science. As always, if you are interested in helping contribute to this wiki, please send an email to bill@mackenty.org. Mr. MacKenty (talk) 12:08, 2 June 2016 (CEST)

News for May 2016[edit]

I am building all of our course stuff for next year. If you would like to help (and earn a grade increase) let me know. Please remember I'm still working on stuff - this site is under construction. Bmackenty (talk) 09:57, 6 May 2016 (CEST)

News for April 2016[edit]

Welcome to our new classroom website. I am still moving stuff from moodle to here. We are learning about and applying our knowledge about design. I have gotten some feedback that some of you think this is "boring but important". I agree. Please remember what I told you: 1 hour of good design saves you hundreds of hours fixing problems later.

Calendar.png Our class meetings[edit]

Date of lesson Our Big idea Our class notes Programming skills we are building
June 9 2016 Computer organization Click here for notes and homework Computer organization - click here for a 2 question quiz
June 6 2016 Computer organization Click here for notes and homework Computer organization - click here for our work
June 2 2016 Problem Sets Click here for notes and homework Problem Sets - please click here and scroll down
May 31 2016 computational thinking Click here for notes and homework networks click here for project objectives
May 27 2016 computational thinking Click here for notes and homework computational thinking - My priorities, my time
May 24 2016 computational thinking Click here for notes and homework computational thinking - My priorities, my time
May 20 2016 Networks Click here for notes and homework networks please click here for a formative quiz
May 16 2016 Networks Click here for notes and homework networks click here for project objectives
May 14 2016 Networks Click here for notes and homework networks click here for project objectives
May 12 2016 Networks Click here for notes and homework networks click here for project objectives
May 6 2016 Pseudocode Click here for notes and homework pseudocode - summative quiz
May 4 2016 Pseudocode Click here for notes and homework pseudocode
April 19 2016 Design (click here) Click here for notes and homework none - exam
April 15 2016 Design (click here) Click here for notes and homework Design process
April 13 2016 Design (click here) Click here for notes and homework functions
April 11 2016 Design (click here) Click here for notes and homework debugging
April 7 2016 Design (click here) Click here for notes and homework email validator
Click for calendar Help! My code isn't working! Click here for big ideas in computer science

Circle.png Helpful resources[edit]

general computer science resources[edit]

software you should install / tools you should know[edit]

wiki help[edit]

Our class spotify playlist[edit]


About.png About this course[edit]

Classroom Rules[edit]

Standards[edit]

Grading[edit]

Academic Honesty[edit]

Credit.png Credits[edit]