EGR 103/Fall 2018/Lab 5

From PrattWiki
Jump to navigation Jump to search

Errors / Additions

None yet!

5.1 Introduction

The main purpose of this lab will be to look at debugging, list comprehensions, and loading data from files. There is also some string manipulation and turtles!

5.2 Resources

See main EGR 103 page for links to these

5.3 Getting Started

Same as it ever was.

5.4 Ungraded

These problems are good ones to look at and to solve but are not a part of the graded work. Given that, you can absolutely consult with classmates about how to get the answers to these ungraded problems but you may not share those answers outside of the members of the class.

5.5 Useful Information

String and List Functions

This section discusses some of the most common functions applied to strings or to lists.

Debugging Introduction

This section is a follow on from class. See the videos at:

Spring 2018 APTs

We will be using Algorithmic Problem-solving Testing (APT) problems, some of which were deployed for the Spring 2018 version of CS 101.

  • All the APTs are available at: CompSci 101 Spring 2018 APT Grading
  • Programs can have an import math line but cannot import numpy and cannot import math as m - you have to use all of math.

Turtles

We went over the basics of turtles in class - more information is at Python:Turtles

5.6 Assignment

5.6.1 APT

For lab, you need to complete at least 8 of the 10 listed APTs by the end of lab; you need to complete all 10 by Friday October 12. Each of these is useful in terms of preparing for the midterm. For MorseLikeCode in particular, you need to figure out how best to build and use a dictionary. Be careful about capitalization - your file names and function names need to have the exact capitalization specified. If you do it wrong, you will need to close the file, go into the File Explorer, rename the file, and then reopen it.

5.6.2

Focus on how you would draw the curve and then how to program it. This is best done with recursion - the level 0 code is already done. The level 1 curve is built of four shorter and angled level 0 curves. Once you get that part working, you should be able to create any level of curve.

5.6.3

This problem takes you step by step through developing the code. Pay careful attention to the tests it recommends that you run. Put those tests in your script either in a main() function that gets called or in a selective executable based on whether __name__ is "__main__". Also look at the test code - make sure you understand what it is doing and how it works.

5.6.4

This is similar to 5.6.3. Including the part about looking at the test code and seeing how it works.

Class Document Protection