Giter VIP home page Giter VIP logo

fopp's People

Contributors

aaron-alphonsus avatar adswa avatar anharrington avatar bbalk avatar bnmnetp avatar christsona avatar commentandconquer avatar dananhd avatar dbrucknr avatar dichharai avatar ezraskwarka avatar haugrud avatar imanyz avatar kcrisman avatar laumurph avatar mayjue avatar mrakhsha avatar nagidrop avatar presnick avatar qasema avatar runestonetest avatar rustydotson avatar sahi1l avatar scottwedge avatar skglad avatar soney avatar sschaub avatar ssdesroc avatar tnbai avatar yarikoptic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fopp's Issues

Problem ac11_14_11 gives error

When running problem ac11_14_11 the following error is always displayed:
"An error occurred but it was outside of your code"

This issue was brought up by many students.

Out of Place exercises

spd_ex_3q and ex_2_4 in the SimplePythonData chapter are asking about comparisons operators and logical opposite results. These should be moved to the Conditionals chapter where we introduce boolean expressions.

@laumurph adding you this way for now.

New WP for Advanced Functions

We want to make a page that gives advice for when to use keyword based parameter passing and when to not do so. Lauren can attempt to write the page with an outline. This was what was mentioned in the meeting:

  • When is it a good idea? Any time there’s more than about 3 parameters: it’s a good idea because it’s difficult to keep track of which values are going to which parameter names.

  • Reminder about using meaningful names for parameters: even more valuable when you use that name when calling the functions.

add .csv reading/writing to the Files chapter

  1. Change the file writing page to be much simpler, just showing that you can write a file with all the squared numbers from 1 to 12*12

  2. Add a page describing the .csv format

  3. Add a page describing how to read data in .csv format, manually (not with .csv module). Use olympics data that @bnmnetp will point you to, from a kaggle competition.

  4. Add a page describing how to write data in .csv format, manually without using the .csv module. Base it on https://106w18.learningpython.today/runestone/static/UMSI106/StringFormatting/CSV.html. Use the olympics data again. Perhaps just extract a few of the fields to write to a smaller .csv file.

EmptyImage.getWidth() doesn't work

Describe the bug
An object of type EmptyImage doesn't support the getWidth() and getHeight() methods, returning an error.
To Reproduce
Steps to reproduce the behavior:

  1. Go to any code box.
  2. Enter the following:
    import image
    img=image.EmptyImage(100,200)
    print(img.getWidth())
    and run.
  3. The error message ExternalError: TypeError: Cannot read property 'width' of undefined on line 3 is returned.

Expected behavior
The number 100 should be returned.

Error in answer to seqmut-1-1 reference diagram multiple choice question

Describe the bug
The textbook answer/autograder answer for seqmut-1-1 provides an incorrect answer, I believe. The answer should be, "Neither is the correct reference diagram," because the code

lst = ['mercury', 'venus', 'earth', 'mars', 'jupiter', 'saturn', 'uranus', 'neptune', 'pluto']
lst.remove('pluto')
first_three = lst[:2]

results in first_three referring to the list [mercury, venus] (i.e. the first two items in the list, not the first three, because of the exclusive nature of the right edge of the slice operator).

Perhaps the code should be changed to "first_three = lst[:3]"

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/heidelberg_ac101f18/TransformingSequences/week4a1.html#chapter-assessment-aliases-and-references
  2. Click on any answer to the question
  3. See error

Expected behavior
I believe the correct answer to this question is, "Neither is the correct reference diagram."

Screenshots
image

Desktop (please complete the following information):

  • OS: MacOS Mojave
  • Browser Chrome
  • Version 69

Javascript Console
No errors.

Searching for "turtle.write" returns results where "turtle" and "write" separately

Describe the bug
For example, when I search for turtle.write in the textbook, it returns pages that include the words turtle and write.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Search.
  2. Type in turtle.write or "turtle.write"
  3. See that the results have the words "turtle" and "write" highlighted separately.

Expected behavior
Only pages which include "turtle.write" together (including the dot) should appear.

pp2_10_1 may be too complicated for chapter 2

Describe the bug
In the early going of the semester a lot of students (and professors) are having a really hard time getting this right. Its pretty long and complicated for so early in the semester.

I added a showeval of a somewhat simpler problem, which I apologize for pushing directly to master @presnick and @laumurph . If you hate it we can always make a new PR to change it.

I think having the showeval first will probably alleviate some of the pressure on this one, but I also wondered if this was moved here from a much later chapter.

Variables and Parameters subchapter could use a couple of CYU quesitons

I'm also thinking that the following example would be good to add to this section:

>>> v1 += 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'v1' is not defined
>>> def foo():
...     v1 += 1
...
>>> foo()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in foo
UnboundLocalError: local variable 'v1' referenced before assignment

Notice the different error messages! Subtle, but it really illustrates an important local variable concept.

Local variables are created at the same time the local namespace is created. That is ANY variable that is assigned to anywhere in the function gets added to the local namespace immediately but it will remain UNBOUND until the assignment statement is executed.

@presnick @laumurph what do you think?

Order of SequenceMutation and Conditionals

I think we ought to move Conditionals in front of SequenceMutation

Then we can re-use many more practice problems from the Lists and Strings chapters of thinkcspy. We will need to reword them so they are not asking for a function but there are a lot of them.

"Previous list" referred to but not explained for ac8_11_3

Describe the bug
Problem (ac8_11_3) says "Starting with the list of the previous exercise, write Python statements to do the following:" But the list in the previous example is a set of course names.

Also, ac8_11_3 has a tab labelled "Answer" and one "Discussion", which none of the others do.

To Reproduce
Steps to reproduce the behavior:

  1. Visit https://runestone.academy/runestone/static/adrian_ac101f18/TransformingSequences/Exercises.html
  2. Scroll to Question 3.

Expected behavior
The initial list should be provided explicitly, and the Answer tab should be removed.

Sequence Mutation Exercises

ac8_11_6 will require that the students use an if statement. Conditionals are not introduced until the next chapter. Move this exercise to conditionals

@laumurph

Run button not working in Grading Admin tab

Describe the bug
This is a new bug I've run into in the past day or two. When I am in the Grading tab and press the Run button on a coding example, nothing happens. An error (below) appears in the Javascript console.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the Grading tab in the Faculty view.
  2. Select "Assignment" from the first pulldown menu, and choose an assignment.
  3. Select "question" from the second pulldown menu, and choose a question.
  4. Select "student" from the third pulldown menu, and choose a student.

Expected behavior
The code should run.

Desktop (please complete the following information):

  • OS: MacOSX 10.13
  • Browser: Chrome
  • Version 69

Javascript Console

activecode.js:932 Uncaught TypeError: Cannot read property 'editor' of undefined
    at ActiveCode.buildProg (activecode.js:932)
    at ActiveCode.runProg (activecode.js:983)
    at HTMLButtonElement.dispatch (jquery-1.10.2.min.js:5)
    at HTMLButtonElement.v.handle (jquery-1.10.2.min.js:5)
ActiveCode.buildProg @ activecode.js:932
ActiveCode.runProg @ activecode.js:983
dispatch @ jquery-1.10.2.min.js:5
v.handle @ jquery-1.10.2.min.js:5

Formula for sepia tone missing in 9.18

Describe the bug
Section 9.18 says "Here is another pretty standard filter for photos called “Sepia tone” It will remind you of the old-west photographer style images. The formula to convert a photo into sepia tone is as follows:" but then there is no formula.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/adrian_ac101f18/TransformingSequences/image_processing.html
  2. Search for "sepia"
  3. Do not see the missing formula.

Use of discussion tabs

@presnick , @laumurph I notice that we are very inconsistent in our use of the discussion tabs on the problems. Do you not use them in pip? I think we should be consistent in providing that option.

What do you think??

Ch 22.5 ActiveCode 1 Popup won’t exit

Describe the bug
In the ActiveCode box, hitting "Run" without adding code to the program causes a popup to appear that won't exit when "Cancel" is clicked. In Firefox, ticking the "Prevent this page from creating additional dialogs” box and clicking "OK" will make the dialogue box disappear, but then the "Run" button becomes greyed out and a “a web page is slowing down your browser” warning appears. In Chrome, there is no such box to tick and it is impossible to exit the dialogue box.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/fopp/Inheritance/TamagotchiRevisited.html?highlight=tamagotchi
  2. Click on the “Run” button
  3. Click on the “Cancel” button on the popup
  4. Click on the “OK” button on the popup
  5. Tick the “Prevent this page from creating additional dialogs” box (if using Firefox)
  6. Click on “OK”
  7. Click on “Run”

Expected behavior
When the dialogue box appears, clicking "Cancel" cases the box to disappear.

Screenshots
fopp_22_5

Desktop (please complete the following information):
-Windows 10, version 1803
-Firefox 62
-Chrome 69

Number chapters and sections in Instructor view

Describe the bug
I assign reading by chapter number and section number; it would be convenient if chapters were referred to by number AND title everywhere.

To Reproduce
Steps to reproduce the behavior:

  1. Visit https://runestone.academy/runestone/dashboard/index?chapter=Iteration

  2. Click on "Select Chapter", and note the lack of numbers.

  3. Look under "Overall Progression" and note the section names are not numbered.

  4. Visit https://runestone.academy/runestone/admin/grading.

  5. Choose "Chapter" from the first menu.

  6. See that the names of the chapters appear (in random order!) but the numbers do not.

  7. Visit https://runestone.academy/runestone/admin/assignments

  8. Click on "Readings" to open it up.

  9. Note the lack of chapter numbers and section numbers that are listed below.

Indicating correct answers without only using color

Describe the bug
For some multiple-choice questions, the only indicator that the student may move on or not is a green or red-colored box, which is potentially problematic for color-blind users.

To Reproduce
Steps to reproduce the behavior:

  1. Go to e.g. https://runestone.academy/runestone/static/ac101summit/GeneralIntro/Algorithms.html
  2. Click on the correct answer.

Expected behavior
I would expect some other indication that the answer is correct or that the student may move on. A symbol, some text like "Correct" or "Proceed", or whatever is most appropriate.

Exceptions

update these exercises so the instructions are inside the directive.

ee_exceptions_011 has an old-style print statement

@laumurph

Typo in definition of "covariance"

Describe the bug
A typo or omission in the definition of "covariance". The sentence which begins, "Covariance measures the the larger values of one variable correspond to the larger values of a second variable..."

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/fopp/Iteration/kiva_statistics.html
  2. Scroll down to the bottom of 'Section 7.16.2', second paragraph above the last ActiveCode exercise.
  3. See error in the first sentence of that paragraph.

Expected behavior
I suspect there is just a phrase missing, in the place of "the the," which would clarify the definition.

Screenshots
image

Desktop (please complete the following information):

  • OS: MacOS 10.13.3
  • Browser: Chrome
  • Version 68

Javascript Console
No JS errors

MINOR: Section 6.5 on len ignores negative indexing, might confuse readers

Describe the bug
In Section 6.5, much is made about how one can find the last character of a string, saying,

Typically, a Python programmer will access the last character by combining the two lines of code from above.
lastch = fruit[len(fruit)-1]

However, in previous sections we have already seen that we can get the last character by typing fruit[-1]. A reader may be confused, wondering what is wrong with negative indexing that this section tells them that "a Python programmer" wouldn't even use it. I think the artificiality of the example should be acknowledged.

A possible non-redundant use of the len function would be to find the character in the middle of the string. e.g. if fruit="grape" then fruit[len(fruit)//2] returns "a".

Functions Exercises

This can be renamed

Several of the exercises I mentioned in #62 can be used here as boolean function exercises

Some text issues with 10.17

Describe the bug

  1. I believe section 10.18 should actually be 10.17.1? The subsections of 10.17 are actually numbered 10.18.
  2. In section 10.18, at the end of the paragraph before the list, the ratio darts_on_board/total_darts shows up with subscripts, probably because your parser (MathJax?) is interpreting it and reading the underscores and subscript indicators.
  3. In act_monte_1, the initial code "# recommmend myturtle.tracer(12,25) for faster animation": it would be helpful to know what the tracer method actually does. The official online documentation (https://docs.python.org/2/library/turtle.html#turtle.tracer) is unhelpful (except it says the command is deprecated) and it's never been mentioned before.
  4. In the same initial code, the word "recommend" is misspelled.

https://runestone.academy/runestone/static/adrian_ac101f18/Files/monte_carlo_simulations.html

Put Gradebook button on Grading page

Feature Request
Please put a copy of the "Gradebook" button on the Grading tab in the Instructor's View. Don't remove it from Student Progress, though.

Why?

  1. I keep looking in the "Grading" tab for it.
  2. Once the autograder is done running, I usually want to look at the grades right away. Having a button there would help.

Project directions/prose incorrectly displayed in ActiveCode window

Describe the bug
In Sec 10.17 "Monte Carlo Simulations," ActiveCode box #6 (act_monte_6), the prose text and partial description of the problem statement is appearing within the ActiveCode box and not above it.
https://runestone.academy/runestone/static/heidelberg_ac101f18/Files/monte_carlo_simulations.html

It seems like this text should actually be part of the prompt that accompanies ActiveCode #7 (below it).

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/heidelberg_ac101f18/Files/monte_carlo_simulations.html
  2. Scroll down to 'ActiveCode 6: (act_monte_6)
  3. See error

Expected behavior
The prose should appear above the ActiveCode box, as it seems to be the prompt for the reader.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Desktop (please complete the following information):

  • OS: MacOS Mojave
  • Browser Chrome
  • Version 70.0.3538.77

Javascript Console
Please check the javascript console for any error messages and include them here.

Change page title depending on content inside

Describe the bug
When I'm using Instructor's mode, I often have several tabs open pointing to Grading, the Gradebook, etc. Unfortunately, all the tabs look exactly the same; they are all titled "Runestone Interactive". It would be great if the <title> of each page would be different, at least on the administrative side of things, like Gradebook - Runestone Interactive. (Although I suppose students might want to have multiple tabs open as well, if they are working on one project but referring back to a previous chapter for reference.)

Extra Exercises for Sequence Mutation

ex8_12_1 and ex8_12_2 are duplicates of exercises from Iteration

ex8_12_3 should be moved to the sequences chapter as long as we intend for them to solve the palindrome by first reversing the string and then comparing the original to the reversed. Otherwise it should be moved to conditionals

@presnick @laumurph

Adjustments Needed in "Sequence Transformation" chapter

Possible orphaned line of text in Section 5.6

Describe the bug
In Section 5.6, right below ac_3_7_1, there's a line that says "The list of integers printed above for list(range(5,60,2)) is only displayed to show you the distances being used to move the turtle forward. The actual use appears as part of the for loop." That doesn't make sense in the context of the page; the command "list(range(5,60,2))" doesn't appear anywhere else.

https://runestone.academy/runestone/static/fopp/PythonTurtle/AFewMoreturtleMethodsandObservations.html

Confused error message in act_rot13_ac_1

Describe the bug
When I submit code for act_rot13_ac_1, one of the tests has the Note "you need a loan_total variable".

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/adrian_ac101f18/TransformingSequences/encryption.html
  2. Scroll down to act_rot13_ac_1
  3. Click on "Save and Run"
  4. Look at the last column of the table that appears.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Javascript Console
Please check the javascript console for any error messages and include them here.

Programming with Style

I'm not sure where this should go but we should either add more content or absorb 14.1 into 15 after we introduce modules so the imports hint makes a little more sense.

Sort the Exercise Analytics by location in the chapter

Describe the bug
The circle graphs for the different problems are displayed in (as far as I can tell) completely random order, which is very frustrating and makes it hard to correlate with the Overall Progression bar graphs above it. If at all possible, please sort the circle graphs in order of appearance in the book, or at least alphabetically.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/dashboard/index?chapter=Iteration
  2. Scroll down to Exercise Analytics
  3. Note that the first circle is question6_6_1, which is from section 6 of Chapter 7, and the circle to its right is question6_5_2 from section 5.

Expected behavior
That the circles be listed in order of appearance in the textbook, preferably left-to-right and then top-to-bottom, but the reverse if necessary.

Bonus feature suggestion
Give the user the ability to sort the circles alphabetically, by appearance, by completion percentage, and so forth.

The CodeLens example in Section 7.3 is using Python-2 style print statement

Describe the bug
The CodeLens example on Section 7.3 appears to be using Python2 to evaluate the print statements, outputting tuples instead of strings.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://runestone.academy/runestone/static/fopp/Iteration/FlowofExecutionoftheforLoop.html
  2. Click on the Forward button in the CodeLens example.
  3. The program output says ('Hi ', 'Joe', ' Please come to my party on Saturday!')

Expected behavior
It should say Hi Joe Please come to my party on Saturday!

More Parsons

Secondly, I think in the first few chapters we should be intentional about adding a few more parsons problems. Maybe added to the Exercises subchapter. Barb's work shows that these are effective, yet we don't have a lot of them that could be assigned as homework.

for example in Simple Python Data chapter we could add a few questions similar to the compute the area of an X or compute mpg and make parsons problems that demonstrate simple input, compute, output pattern.

Also adding some simple ones on iteration and conditionals

@presnick @laumurph

Conditionals need more exercises

From thinkcspy we can adapt the wording to remove the requirement to write a function and include the following exercises:

ex_6_6, ex_6_7, ex_6_8, ex_6_10, ex_6_13

Note: I think its perfectly fine if some or all of these are used in the functions chapter later.

Check the workding for ex_6_12 agains the leap year question already in this chapter and use the one that is the most clear.

@laumurph

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.