Throughout the course, you've experimented with various problem solving strategies.
They've included:
The course began with you using the input-processing-output problem solving model. You've solved problems independently during the course and by the culminating activity, you'll have solved problems as part of a team.
In this unit, we're going to use a formal approach to software development.
The SDLC (Software Development Life Cycle) can be visualized in several ways:
I was taught to visualize the Waterfall model, but in a cycle:
For the purpose of this unit, it doesn't matter which SDLC you choose to follow. What matters is that you learn to follow one. I will go over the phases, but in case you missed it, the phases of the SDLC are also outlined here in this wikipedia.org article.
You can use a Gantt chart, a critical path diagram, or a PERT chart to manage your project for this unit. I recommend a Gantt chart.
Let's look at this sample Gantt chart.
What are the 4 different 'types' of people doing across the 12 days of this office move?
Are days divided?
A simple Gantt charts in Microsoft Excel tutorial.
Create a test plan to test your program.
Begin by writing a list of scenarios, and then track them by indicating pass or fail.
Things to consider: input, output, is it usable, does it meet the requirements?
Track your expected and actual outcomes.
Write an original program using Python that uses the template provided. Your program will draw a variety of shapes for the user using Python's Turtle. Your program will use functions and the a text based menu. Your program will draw:
The rubric for this assignment is located below.
# Author: Mr. Liconti# Date: 6/3/2018# File Name: Software_Dev_Unit_Template.py# Description: template for ICS3C Software Development Unit#import statments hereimport turtle#global variables hereflag = True #loop controluserChoice = '' #var that holds the RETURNED choice from getChoice()bob = turtle.Turtle() #create a turtle named bobdef showMenu(): #Display menu options print(' MENU') print('==========') print('D to draw a line') print('H for help') print('Q to quit') print('==========') print(' ')def getChoice(): #get user's choice choice = input('Option?: ') return choice def showHelp(): print('This is a template for your Software Development Unit.') print('It will draw a straight line using Python\'s Turtle, but that\'s just for an example.') print('Please provide a line length when asked.') print('You can quit this program from the main menu by pressing Q') def drawLine(): length = input('Line Length: ') #get line lenght from user length = int(length) #changing lenght into a int bob.forward(length) #turtle will draw a line based on user input print('This program will allow you to draw shapes with the Python Turtle.')while flag == True: showMenu() userChoice = getChoice() if userChoice == 'H': showHelp() elif userChoice == 'Q': #control the loop with the variable flag flag = False elif userChoice == 'D': drawLine() else: print('Not a valid choice. Only D, Q and H are valid choices') #error messageprint('Program ending.')The Logo programming language was invented for educational purposes. The 'turtle graphics' component of Logo is capable of controlling a robotic "turtle" which would draw geometric shapes and patterns. Subsequent implementations of the turtle have been on-screen.
Python includes it's own version of turtle with both the 2.x and 3.x branches.
For a full overview of the Python turtle module, read the API that came with your version of Python (press F1 while running IDLE). Because Python is evolving, remember that if you search for the Python API on the internet, you will probably be looking at the latest version of the language. For example: begin_fill() was fill().
The latest version of the Turtle's API entry is http://docs.python.org/library/turtle.html
Basic shapes, control, and colours are all covered in that API, and in the notes in the course. Please feel free to use the API to improve your project.
I need help with colour pallets all the time. Here are some that I use:
Visibone - https://visibone.com/colorlab/big.html
Adobe Color - https://color.adobe.com/create/color-wheel/
Paletton - http://paletton.com/#uid=1000u0kllllaFw0g0qFqFg0w0aF
Colourco - http://www.colourco.de/
import turtle #import turtle modulebob = turtle.Turtle() #build turtleturtle.colormode(255) #set colour mode to allow for R,G,Bbob.pencolor(255,0,0)bob.forward(100)Turtle uses RGB values for specific colours. If you like to use strings, consider this resource from the Tcl/Tk documentation . It's a massive list of strings and RGV values. Not all work.
Summative Evaluation