CSE 110: Introduction to Programming

W01 Project: Clever Stories

Overview

In this assignment, you will demonstrate your knowledge of programming by creating a program on your own and learning to troubleshoot problems.

AI-assisted Software Development

Artificial Intelligence (AI) is a powerful tool that helps experienced software engineers work faster and do more. Because of this, companies need fewer low-skill developers, since skilled ones with AI can do the same work more easily.

With this in mind, it is critical that you become a high-skilled developer that knows how to solve problems and use AI as a tool. To develop these skills, you need to practice writing lots of code on your own and working through problems. In future courses, once you have mastered the fundamentals from this course, you will learn to use AI to generate all or part of your programs.

On the other hand, if you use AI to generate the programs in this course, you will not develop the skills you need and you will not be prepared to get a job in the current market.

Do not use AI to generate the code for your programs in this course.

Using AI to generate your programs is a violation of the course AI policy and may result in receiving a 0 on the assignment, failing the course, or being removed from the program.

If you use AI to generate your code for you, you will not learn how to program, which will prevent you from being able to be successful in later courses and in your career.

If you need help on the assignment or have questions about AI use, please ask your instructor.

Acceptable use of AI in CSE 110

While you should not use AI to generate code, it can be a powerful tutor to help you learn and understand the concepts. Experienced software engineers use AI all the time to help them learn to do things they haven't done before.

You are strongly encouraged to ask AI questions about the topics and the problems you are facing. Then, once you understand the concept better, set the tool aside and write the code yourself.

The following defines the acceptable use of AI in CSE 110:

W01 Project: Overview

Mad Libs are a type of funny story, where a person is asked for words without knowing their context. The words are then placed into a story in a pre-determined format, often resulting in funny statements.

For example, consider prompts for:

And a story, such as:

When it comes to [plural-noun], you would never want to [verb], especially if you encountered a [adjective] [noun].

A person, may respond to the prompts with the following:

Then the story would read:

When it comes to ducks, you would never want to jump, especially if you encountered a cold taco.

Instructions

For this assignment, you will implement a program that asks the user for a series of words and then displays the story with the user's words inserted into the appropriate places.

The program should begin by asking the user for each of the words. It should then, fill those words into the appropriate places in the story.

To begin, please use the following story:

The other day, I was really in trouble. It all started when I saw a very
[adjective] [animal] [verb] down the hallway. "[exclamation]!" I yelled. But all
I could think to do was to [verb] over and over. Miraculously,
that caused it to stop, but not before it tried to [verb]
right in front of my family.

Make sure to match the punctuation and spacing of the original story exactly (for example, you should not put your words on their own line, they should fit naturally into the story).

Also, make it so that the "exclamation" word is automatically capitalized, because it starts a new sentence.

Sample Output

Here is an example of how your program might work:


Please enter the following:

adjective: happy
animal: zebra
verb: sneeze
exclamation: hooray
verb: read
verb: drive

Your story is:

The other day, I was really in trouble. It all started when I saw a very
happy zebra sneeze down the hallway. "Hooray!" I yelled. But all
I could think to do was to read over and over. Miraculously,
that caused it to stop, but not before it tried to drive
right in front of my family. 

Another example, where the user typed different values might look like this:


Please enter the following:

adjective: tired
animal: snail
verb: yell
exclamation: oh no
verb: sing
verb: skip

Your story is:

The other day, I was really in trouble. It all started when I saw a very
tired snail yell down the hallway. "Oh no!" I yelled. But all
I could think to do was to sing over and over. Miraculously,
that caused it to stop, but not before it tried to skip
right in front of my family. 

Showing Creativity and Exceeding Requirements

As stated in the course syllabus, for each of the projects this semester, you'll be provided with the core requirements, or minimum standard expectations. If you complete those requirements, you are eligible for a 93% on the assignment. However, to be eligible for a 100% on the assignment, you will need to do something to show creativity and exceed these core requirements.

For this assignment, here are some ideas of how you might show creativity in addition to the core requirements:

Once you have added something extra to the program, you need to add a comment explaining your addition so the grader knows to look for it. Please add a comment at the beginning of the file describing your addition in 1-2 sentences. A comment is a line of code that begins with the pound # character.

Important: In order to receive credit for showing creativity, you must include a comment (a line that begins with # ) on line 1 of the program that describes in 1-2 sentences what you have added.

Submission

When you have finished your program:

Make sure to submit a .py file.

When you created your Python program, you should have created it as a .py file. This lets your computer know that it is a program that can be run. Similarly, when you upload your program to Canvas to submit it for grading you must upload the .py file. (For example: project1.py, prove01.py, or stories.py)

If you submit a picture of your program, such as a .jpg or .png file, or submit it in a text format such as a .txt or .docx file, then the grading team will not be able to grade it. Please make sure to submit a .py file.

Up Next

Other Links: