A 2nd semester follow-up to the TEALS Intro CS course
This repository will be depricated after the 2016-17 school year. The 2nd Semeseter Introduction to Computer Science curriculum is moving to a new GitHub repository and GitBook location starting the 2017-18 school year.
This curriculum is licensed under the Creative Commons Attribution Non-Commercial Share-alike License (http://creativecommons.org/licenses/by-nc-sa/4.0/), which means you may share and adapt this material for non-commercial uses as long as you attribute its original source, and retain these same licensing terms.
Welcome to the TEALS Intro to Computer Science Part 2 Curriculum. This curriculum is intended for use by TEALS classrooms teaching Introduction to Computer Science in a yearlong format. We expect that students have completed the content from the 1st semester course prior to this curriculum.
Please help us complete it by contributing feedback and suggestions via the GitHub repository that contains the source files for this gitbook: https://github.com/TEALS-IntroCS/2nd-semester-introduction-to-computer-science-principles
Check out this 1-hour Orientation to the Curriculum video: https://www.youtube.com/watch?v=UHgA_7x6-Qo
Python is an evolving language. Python 3 is major upgrade to the language, released in 2010. There is a lot of existing software written under Python 2 and there is resistance to upgrading to Python 3 due to code breakage and cost. Just as a car part from a 10 year old model car will probably not fit a new model of the same car, Python 2 code probably would not run in a Python 3 environment. In Python 3 there are new features, significant upgrades "underneath" which makes the code run better and/or faster as well as no longer supporting (deprecating) some Python 2 capabilities. When looking at Python code, be careful to note whether it is Python2 or Pynton3.
This class will use Python 3.
For those knowledgable with Python 2, the following is a list of differences from Python 3 relevant to the 2nd semester intro course.
Python 2 | Python 3 | |
---|---|---|
Printing to console | print 3.14 | print (3.14) |
User input | raw_input()/input() | input () |
Integer arithmetic | 3/2 evaluates to 1 | 3/2 evaluates to 1.5 |
Not equal to | <> | != |
Please open an issue in GitHub if you encounter factual, spelling, or grammatical errors, sequencing problems (topics needed before they are taught), or incomplete/missing materials.
If you'd like to suggest changes or additions to the curriculum, please submit a Github Pull Request containing your changes. As a best practice, each pull request should contain a singular atomic change.