teals-introcs / 2nd-semester-introduction-to-computer-science-principles Goto Github PK
View Code? Open in Web Editor NEWA 2nd semester follow-up to the TEALS Intro CS course
A 2nd semester follow-up to the TEALS Intro CS course
They should be on a separate Gitbook page so they can be projected
The item :
Depending on the position that the user inputs, update the position of the board to reflect that.
I think could be clarified:
Depending on the position that the user inputs, update the position of the board to an "X" to reflect that.
"create a file in cloud9 called helloworld.py, add the following code:"
[code]
"save and submit the file following the instructions on the handout"
This issue is in lots of places, I haven't figured out how to fix it
Lab will now be in two parts.
Lesson will be:
Currently students will have access to the quizzes!
This was done in the Intro Semester 1 curriculum, should be continued.
Ex. •Lab 2.3 Handout - What Shape is That? (Download in Word) (Link to PDF)
instructions from 1.02 instead of 1.03
Also clarification needed in the instructions - is the game deciding if/when there is a winner?
No display linked to Lesson 1.06 -> Project File
Are they simply creating a list that represents the board, or are they actually printing out a visual representation of the board?
In the file mode, if the input string is not enclosed in quotes, it is interpreted as a Python
command, not an input string.
In the interactive mode, input acts as a string input, not requiring the string to be enclosed in quotes.
The command raw_input acts as a string input without requiring quotes. The command raw_input is not defined in the interactive mode.
The "input" command allows you to enter Python commands by typing which is a very clever way of programming. If you enter bill Python treats it as a variable, if you enter "bill" it is treated as a string and the quotes are kept.
the line:
n2 == 4 or n 10 == 100 is true if either of the conditions is true, that is, if the number is 2 or 1
should read
n_2 == 4 or 10_*n == 100 is true if either of the conditions is true, that is, if the number is 2 or 1
It might be worth mentioning that and OR expression is true whenever one of the operands is true and an AND expression is false whenever one of the operands is false.
You introduce the Bash shell, perhaps a little intro on UNIX commands might be in order. I know our students need background.
Example: using the interactive screen, user can enter cntrl D or exit() to exit the Python interpreter and get into the Bash shell. Entering the Bash command "clear" will clear the screen and entering python3 will get the user back into the interpreter with a clean screen.
To edit a python command interactively, you can use the up arrow to get to a previous command and left, right keys to move within the command. The delete key removes characters and typing will insert new characters.
I would suggest a minimal cheat sheet of UNIX/Bash commands as well as editing keys for the interactive interpreter. I know my students would get lost quickly. Perhaps a lesson?
print (7//-3)
print(7/-3)
-3
-3
I would suggest an unplugged version of how a fax works sending 0, 1 and line feed.
Have the student draw a 5 X 15 grid on the board. From the top left either fill in the square (send 1) and advance or just advance (send 9) or send a line feed to go to the beginning of the next line.
This would demonstrate how 0s and 1s (and a line feed) can display intelligible information. It would also show how a black and white fax machine operates.
So that students can access the "textbook" easily.
the new/separate gitbook will contain appropriate licensing and attribution.
Would go under "Introduction" and would have a bunch of general notes/suggestions.
For example:
Extra extensions or ways to slow down.
Page details two suggestions for having students submit work via cloud9:
shared workspace, and then your Learning Management System just has a form they submit saying "I'm done" and/or asking reflection questions
students download files from cloud9 to local machine and then upload/submit those files to a learning management system (canvas, google classroom, etc)
Is it supposed to be print(range(0,10))? When I type the code for both part 1 and 2 nothing happens.
List of 31 keywords is messed up
Number the sections (Printing/Bonus/etc)
Fix formatting errors
Add a table for "type this into interpreter" and "what did the computer return?" in first part
In the first few lessons, add an explicit direction in the lesson plan to either hand out a worksheet, or project the do now onto the classroom screen.
Tried running the example code and ran into some errors.
Tried fixing and hit some snags. Didn't have time to really go through this and fix all bugs.
I think a reference to Grace Hopper and the logging of a moth caught in a relay as the origin of the term computer debugging would introduce some of the "folklore" of programming. Could introduce the print command as a debugging tool to examine values of variables and the path the code is taking. On more complex programs, I would use a binary approach to determine which "half" of the code the error was occurring. Having determined which half, I would apply the same method to the half with the error until I traced the source of the bug.
For some errors, Cloud9 will put a little round orange circle containing an "x"in the leftmost column of the file source pane.
To debug syntax errors, you have to think like a compiler.
"A program is like a nose; sometimes it runs, sometimes it blows. "
Actually I read this in a "Datamation" magazine in 1968.
A doctor, an engineer were arguing over what is the oldest profession.
The doctor said doctoring is the oldest, God made Eve out or Adam, a great medical feat.
No said the engineer, engineering is the oldest, God created Heaven and Earth out of Chaos.
The programmer said, who do you think cerated Chaos?
worksheets, labs, etc
What does the // do? How is that different from %?
should read
What does the / do? How is that different from %?
I don't think the activities will take students 30 minutes, can we add an additional problem/activity?
Is there a summary of how Cloud9 works with Python? The colors of the commands, variable completion, etc. If there is I believe a summary/cheat sheet or a lesson for these would of great benefit as I know my students will not have had any experience with an IDE. I have already created an issue about the interactive/BASH part of the Cloud9 Python IDE.
Is it supposed to be a complete game or not? The project description was written in a way that led me to believe that it is, so that was the assumption I was riding on when editing the content of the project spec. The demo last night seemed to indicate that creating the "checker" is the only goal of the project.
Need clarification here ASAP
Under Operators and Operands in Associated Reading - Lesson 1.02,
"20+32 hour-1 hour60+minute minute/60 5**2 (5+9)(15-7) In some other languages, ^ is used for exponentiation, but in Python it is a bitwise operator called XOR."
Exponentiation should be the ** operator. Also the next sentence starts with "I will...". I don't think you want to use the personal pronoun I in this context.
Links within lesson plans direct to file not found.
Is this is a typo? I'm not sure what the deal function is and couldn't find it after doing some web searching.
I would like to see more emphasis on software design and problem solving. As has been discussed on TEALS piazza, most people taking computer science will not become programmers.
But the problem solving skills would always be useful. I have students tell me "I don't where to begin".
Addressing this issue with some paradigm such as abstraction and top down design would be of great benefit. Of course you still need the tool box of code to implement the design.
Examples such as the Fibonacci numbers and building triangles using the print command would be enlightening.
Is there a section on naming conventions, especially as they apply to "industry standards" for ease of reading and getting used to coding in a "production" environment?
Also there should be a discussion of globals and maybe the convention of starting globals with "g_".
Conventions for naming Constants, variable names (use of "_"), methods/functions, etc.
They were working yesterday -- and the first one, 3.2.2. was useful for class this morning -- but in both Firefox and Chrome the table of contents entries for all the associated reading are grayed out and inaccessible.
The
while True:
print ('a')
loops indefinitely. It is hard to kill and ties up resources. Perhaps instructions on how to kill it would be appropriate.
Also need "shuffled deck" list to provide students.
Instructions need clarification - are they only thinking about comparing value 2 thru Ace? Is suit ignored in their "shuffled deck"?
Add a 2nd screenshot to show expected output of part 2
Add more detailed instructions.
Change "explanation" column to "Did it do something unexpected?"
Add a letter name to each row of each table for easy reference
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.