H. B. Woodlawn 2015-2016
Computer Programming Courses
- Computer Science APCS Level A, individual projects, Options for study:
- IMACS Institute for Mathematics and Computer Science
- Outline for EIMACS for 2015-2016,
Outline in .doc
- APCS materials TJHSST
- Unit 1 - Strings
- Unit 2 - Recursion
- Unit 3 - Sorts
- Unit 4 - ListNode
- Unit 5 - Collections
- Unit 6 - Stacks and Queues
- Unit 7? - Trees
- Unit 8? - Hashing, Sets, Maps
- Unit 9? - Heaps and SortDetective
- Online APCS Test Reviews
- AP Student test review questions
- Year Course Materials, TJHSST
also see the
detailed topic list for each unit
- Packets: Unit 1 - FCPS Karel Robot,
Unit 2 - Graphics,
Unit 3 - GUIs,
Unit 4 - Data Storage,
Unit 5 - Data Processing - Sorting, Recursion
- Shell Java files:
shells.zip, shell files for Units 1-4 + map files for Karel Robot
- You also need an IDE to develop your programs (type/edi/compile/run), for example
JGrasp
- Installing at Home
- pyKarelStudentShellsProgs.zip, you need Python and editor (IDE)
- online Karel Robot, Javascript, beta version by Shane Torbert at TJ
- Also see the links below for many more ideas for projects and self paced learning
- Computer Science 1st year, Java Course:
- 4th Quarter Project
- 4th Quarter project ideas
- Labs to help you with project ideas
- Pinball: Unit 2 Lab11:
Driver11.java,
PinballPanel.java,
Polkadot.java,
Ball.java,
Dodecahedron.java
- Bumper with Prize: Unit 2 Lab14: Driver14.java,
BumperPanel.java,
Polkadot.java,
Ball.java,
Bumper.java
BumperCollision.java,
- Mouse Input: Unit 2 Lab16: Driver16.java,
PrizePanel.java,
Polkadot.java,
Ball.java,
- Keyboard Input: Unit 2 Lab17: Driver17.java,
PrizePanel.java,
Polkadot.java,
Ball.java,
- Luck of the Roll: Unit 3 Lab06: Driver06.java,
Panel06.java,
Dice.java,
one.jpg,
two.jpg,
three.jpg,
four.jpg,
five.jpg,
six.jpg,
- Last Stone Wins (NIM): Unit 3 Lab11: Driver11.java,
Panel11.java,
Scoreboard11.java,
Display11.java,
stones1.jpg,
stones2.jpg,
stones3.jpg,
stones4.jpg,
stones5.jpg,
stones6.jpg,
stones7.jpg,
stones8.jpg,
stones9.jpg,
- Mixing Graphics and GUI: Unit 3 Lab17: DriverGnG.java,
Panel17.java,
BumperPanel.java,
BumperCollision.java,
Bumper.java,
Ball.java,
Polkadot.java,
- words.txt for Unit 4, Lab08 Dictionary
- data.txt for Unit 5, Lab00 Min and Max
- Unit 4 Worksheets
- Packet - Unit 4 Data Storage
- Lab 00 Hello Array and Scanner,
Lab 01 Sum, Avg, Min, Max,
Lab 02 Fahrenheit to Celcius,
Lab 03 Text Files
- Lab 04 Text Files and Try/Catch,
Lab 05 Luck of Many Rolls
- Lab 6 Shapes and Areas
- Lab 7 Array of Shapes
- Lab 8 Dictionary
- Lab 9 Miniature Golf,
,
- Lab 12 Guess the Number,
- Lab 14 Battleship,
- Lab 15 Tic-Tac-Toe
- PixLab worksheets and files (also in your shell folders)
- Year Course Materials, TJHSST
also see the
detailed topic list for each unit
- Outline of topics for 2016,
Outline in .doc,
- 2015-16 Overview of CS topics
- Packets: Unit 1 - FCPS Karel Robot,
Unit 2 - Graphics and Animation,
Unit 3 - GUIs and I/O,
Unit 4 - Data Storage: Arrays, Files, Matrices,
Unit 5 - Data Processing - Sorting, Recursion
- Shell Java files:
shells.zip, shell files for Units 1-5 + map files for Karel Robot
- You also need an IDE to develop your programs (type/edi/compile/run), for example
JGrasp
- Installing at Home
- pyKarelStudentShellsProgs.zip, you need Python and editor (IDE)
- online Karel Robot, Javascript, beta version by Shane Torbert at TJ
- Computer Science 1st year, options for study:
- Scratch create, also the home Scratch website
- Scratch Projects, Moving and Drawing, Sound Board, Frogger game, Item Coollection game, Pong, Zombie Apocalypse game, Tron Light Cycles game, Research assignment
- If you're working with online Scratch, let me know the url to your projects
- Think Python> How to Think Like a Computer Scientist, Allen Downey,
How to Think Like a Computer Scientist - Python, Jeffrey Elkner, P Wentworth, A Downey, C Myers: Variables, expressions, and statements; Hello turtles, Functions, Conditionals, Iteration, Strings, Tuples, Event handling, Lists, Modules, Files, List Algorithms, Classes and Objects, PyGame, Recursion, Exceptions, Dictionaries, Collections of Objects, Inheritance, Linked Lists, Stacks, Queues, Trees
- Khan Academy - Computer programming and Computer Science, Javascript
- Computer Programming
- Javascript programming: Drawing basics, Coloring, Variables, Animation Basics, Resizing with variables, Text and strings, Functions, Logic and if, Debugging, Looping, Clean code, Arrays, Objects, Object-Oriented Design, Becoming a better programmer
- Intro to HTML/CSS: Making web pages - HTML basics, CSS basics, more HTML tags, CSS text properties, CSS layout, more CSS selectors
- Intro to SQL: Querying and managing data - SQL Basics, More Advanced SQL Queries, Relational Queries in SQL, Modifying Databases with SQL
- Advanced JS: Games and Visualizaions - Scene management, Buttons, Transformations, 3D Shapes, Making a Side Scroller, Making a Memory Game - Tic Tac Toe
- HTML/JS- making webpages interactive - Getting ready, JS and the DOM, DOM access methods, DOM modification, DOM events, DOM animation, Using JS libraries in your webpage
- Advanced JS: Natural Simulations - Randomness, Noise, Vectors, Forces, Angular Movement, Oscillations, Particle Systems
- Computer Science (advanced)
- Algorithms: Route finding, Binary search, Asymptotic notation, Asymptotic (Big-O) notation and speed of algorithms on large data sets,
Selecton sort (n^2), Insertion sort (n^2), Recursive algorithms (n logn - fast sorts), Towers of Hanoi, Merge sort, Quick sort, Graph representation, Breadth first search
- Cryptography: Ancient cryptography, Ciphers, Cryptography Challenge 101, Modern Cryptography - RSA encryption, Modular Arithmetic, Primality Test (is a number prime?, fast ways to determine), Randomized algorithms,
- Information Theory, Ancient information theory (Rosetta stone), Modern information theory - Markhov chains, compression codes
- Online from Stanford U:
- Computer Science 101, also on
Coursera here:
- The nature of computers and code, what they can and cannot do
- How computer hardware works: chips, cpu, memory, disk
- Necessary jargon: bits, bytes, megabytes, gigabytes
- How software works: what is a program, what is "running"
- How digital images work
- Computer code: loops and logic
- Big ideas: abstraction, logic, bugs
- How structured data works
- How the internet works: ip address, routing, ethernet, wi-fi
- Computer security: viruses, trojans, and passwords, oh my!
- Analog vs. digital
- Digital media, images, sounds, video, compression
- Netlogo Agent Based Modeling (ABM) Netlogo on the web, and
Netlogo to download
- See the Models Library in Netlogo once downloaded. There are many agent based models to look through
- Subject areas for agent based model examples: Art, Biology, Chemistry and Physics, Computer Science, Earth Science, Games, Mathematics, Networks, Social Science, System Dynamics
More sources for programming/computer science coursework, projects:
- C++ and STL programming
- Online Computer Science courses on edX from universities
- CS for All: Introduction to Computer Science and Python Programming from Harvey Mudd U.
- Online APCS Level A course in Java from Berkeley:
- Level Up! Part 1 Preparing for the AP Computer Science A Exam, free to audit, starts Oct 15, 2015
- Level Up! Part 2 Preparing for the AP Computer Science A Exam, free to audit, starts Dec 7, 2015
- Level Up! Part 3 Preparing for the AP Computer Science A Exam, free to audit, starts Jan 27, 2016
- Level Up! Part 4 Preparing for the AP Computer Science A Exam, free to audit, starts March 14, 2016
- MyCS: Computer Science for Beginners from Harvey Mudd Univ
- Introduction to Computer Science from Harvard, Scratch, C, PHP, JavaScript, SQL, CSS/HTML
- Topics include: abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML.
- Programming in Scratch - Harvey Mudd U
- CS - Principles course, Beauty and Joy of Computing, in Snap (expanded version of Scratch), from Berkley
- Beauty and Joy of Computing, Pt 1, CS Principles, starts Sept 8, 2015
- Beauty and Joy of Computing, Pt 2, Starts Oct 26, 2015
- Beauty and Joy of Computing, Pt 3, Starts Jan 4, 2016
- Beauty and Joy of Computing, Pt 4, Starts March 7, 2016
- Scratch create, also the home Scratch website
- Scratch Projects, Moving and Drawing, Sound Board, Frogger game, Item Coollection game, Pong, Zombie Apocalypse game, Tron Light Cycles game, Research assignment
- If you're working with online Scratch, let me know the url to your projects
- Snap programming an 'improved' Scratch, and The Beauty and Joy of Computing, an AP CS Principles course, here's the
curriculum and coursework, using Snap
- Khan Academy - Computer programming and Computer Science (advanced)
- Computer programming
- Javascript programming: Drawing basics, Coloring, Variables, Animation Basics, Resizing with variables, Text and strings, Functions, Logic and if, Debugging, Looping, Clean code, Arrays, Objects, Object-Oriented Design, Becoming a better programmer
- Intro to HTML/CSS: Making web pages - HTML basics, CSS basics, more HTML tags, CSS text properties, CSS layout, more CSS selectors
- Intro to SQL: Querying and managing data - SQL Basics, More Advanced SQL Queries, Relational Queries in SQL, Modifying Databases with SQL
- Advanced JS: Games and Visualizaions - Scene management, Buttons, Transformations, 3D Shapes, Making a Side Scroller, Making a Memory Game - Tic Tac Toe
- HTML/JS- making webpages interactive - Getting ready, JS and the DOM, DOM access methods, DOM modification, DOM events, DOM animation, Using JS libraries in your webpage
- Advanced JS: Natural Simulations - Randomness, Noise, Vectors, Forces, Angular Movement, Oscillations, Particle Systems
- Computer Science (advanced)
- Algorithms: Route finding, Binary search, Asymptotic notation, Asymptotic (Big-O) notation and speed of algorithms on large data sets,
Selecton sort (n^2), Insertion sort (n^2), Recursive algorithms (n logn - fast sorts), Towers of Hanoi, Merge sort, Quick sort, Graph representation, Breadth first search
- Cryptography: Ancient cryptography, Ciphers, Cryptography Challenge 101, Modern Cryptography - RSA encryption, Modular Arithmetic, Primality Test (is a number prime?, fast ways to determine), Randomized algorithms,
- Information Theory, Ancient information theory (Rosetta stone), Modern information theory - Markhov chains, compression codes
- Python: Think Like a Computer Scientist books online
- Think Python> How to Think Like a Computer Scientist, Allen Downey
- How to Think Like a Computer Scientist - Python, Jeffrey Elkner, P Wentworth, A Downey, C Myers: Variables, expressions, and statements; Hello turtles, Functions, Conditionals, Iteration, Strings, Tuples, Event handling, Lists, Modules, Files, List Algorithms, Classes and Objects, PyGame, Recursion, Exceptions, Dictionaries, Collections of Objects, Inheritance, Linked Lists, Stacks, Queues, Trees
- Netlogo Agent Based Modeling (ABM): Netlogo on the web, and
Netlogo to download
- See the Models Library in Netlogo once downloaded. There are many agent based models to look through
- Subject areas for agent based model examples: Art, Biology, Chemistry and Physics, Computer Science, Earth Science, Games, Mathematics, Networks, Social Science, System Dynamics
- Udacity self study
- Coursera courses coming up or just started recently (free courses)
- Computer Science 101 Stanford U, self study
- Programming for Everybody U Mich, Oct 5-Dec13 2015
- Algorithms pt 1 and Algorithms pt 2
Princeton, Sept 4-Oct 22 2015 (pt 1), Oct 30 - Dec 17 2015 (pt 2),
free
- An Introduction to Interactive Programming in Python (Pt 1)" and
- An Introduction to Interactive Programming in Python (Pt 2)"
Rice Univ, Aug 29-Oct 17 2015
- Programming Mobile Applications for Android Handheld Systems: Part 1 U Md, Sept 2-Sept 27 2015
- Code Yourself: An Introduction to Programming, in Scratch, Univ Edinburgh and Universidad ORT Uruguay, Sept 15-Oct 26
- Functional Programming in Scala, Ecole Polytechnique, Sept 15-Nov 19
- Finding Hidden Messages in DNA (Bioinformatics 1) UC San Diego, Python, Aug 31-Oct 10
- Courses from Sante Fe Institute and Complexity Explorer (free):
- Introduction to Complexity - Sante Fe Institute, and Complexity Explorer, study dynamics, chaos, fractals, information theory, self-organization, agent-based modeling, and networks. Ongoing course, sign up by Sept 20
- Fractals and Scaling, sign up by Oct 23
- Non-linear Dynamics, advanced, background pre-req should include derivative, classic mechanics, computer programming skills any language
- Codecademy, HTML/CSS, Website projects, Javascript, Interactive websites, jQuery, Ruby and Rails, PHP, Python, Ruby, the Command Line, APIs, SQL
- Principles of Computer Science from a Duke Univ summer 06 course (Java), topics:
- HTML and CSS programming, webpages
- Intro to problem solving and algorithms
- Graphs (networks like Facebook friends) and graph algorithms like shortest path
- Applications vs Applets
- Data types and operators
- String class, Loops, writing methods
- Making a game
- Methods and their behavior, scope of identifiers (names)
- Arrays
- Graphics
- Binary numbers, boolean logic
- Algorithmic complexity. Linear search, binary search, O-notation
- Sorting: Selection sort, insertion sort, bubble sort
- AI intro
- Algorithmic complexity
- Recursion, Towers of Hanoi problem
- Cryptography
- Java helpful files
- Scanner class for keyboard, file input