logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Zuber KhanEconomics
(5/5)

683 Answers

Hire Me
expert
Alex WarddEconomics
(5/5)

563 Answers

Hire Me
expert
Janet FearnleyPsychology
(4/5)

611 Answers

Hire Me
expert
Hemidov MuradManagement
(5/5)

832 Answers

Hire Me
Python Programming

Write a program that reads the MCTC Course Search Results page parses that page and creates a spreadsheet containing seven columns of data from the web page.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

Final Project - ITEC Course Schedules

For this lab, and every lab: comment your code. If you use/adapt code from the internet, you must add a comment with the source of the code.

Reading:

You will have to read about and learn to use Beautiful Soup modules, as well as understand HTML. See the textbook Chapter 11 https://automatetheboringstuff.com/chapter11/ and scroll about a third of the way down or search for "Parsing HTML with the BeautifulSoup Module." Do a search ( on Windows or <⌘-F> on a Mac) for "BeautifulSoup" and you'll be there. You'll want to understand the whole HTML section before that too.

Coding:

The Problem: Make a spreadsheet of the ITEC teaching schedule (55 points for code, 45 points for comments)

Write a program that reads the MCTC "Course Search Results" page, parses that page, and creates a spreadsheet containing seven columns of data from the web page.

You can use this URL: https://eservices.minnstate.edu/registration/search/advancedSubmit.html?campusid=305&searchrcid=0305&searchcampusid=305&yrtr=20205&subject=ITEC&courseNumber=&courseId=&openValue=OPEN_PLUS_WAITLIST&delivery=ALL&showAdvanced=&starttime=&endtime=&mntransfer=&credittype=ALL&credits=&instructor=&keyword=&begindate=&site=&resultNumber=250

The seven columns I want in the spreadsheet are:

  1. ID # (ie. 000096)

  2. The course number, a dash, and the section number (ie. 1150-61)

  3. The course title (ie. Programming Logic and Design)

  4. The day of the week the course meets (ie. Wednesday)

  5. The time the course meets (ie. 9:00am - 11:59am)

  6. The credits for the course (ie. 3)

  7. The instructor for the course (ie. Huilman, Brian)

The formats I use in the examples above are how I want them in the spreadsheet.

Extra credit +5 points:

Look at the URL and notice the yrtr=20205 parameter that's being passed to the server. This URL is a form of an API. Minneapolis College starts the academic year in the Summer semester with the "1" designator, the Fall semester has a "3" designator, and the Spring term uses a "5" designator. Modify your code to look at the current date, and ask the user if they want the current semester (and say which semester it is from "Fall," "Spring," or "Summer"), or the next semester. You will then need to properly build the URL, specifically the yrtr= variable. For example, to get the schedule for this Fall semester, you would use 20203 (the first semester of the 2019-2020 school year). 

Extra credit +10 points:

Add an 8th column to the spreadsheet that includes the room number the course is taught in. This will require quite a bit of extra work since that data is "hidden" as a pop-up on the page. For the course I use as an example above, your output for the 8th column (column H) would be T.3010.

Notes:

Your code should have clear messages sent to the user, with full sentences and proper English grammar. You should verify and validate all input() you get from the user. When I run your code to test it (for grading) I will purposefully type in data that your program is likely not expecting, trying to get it to crash. Use try: except: blocks around areas of your code that might fail. Basically, us all of the best coding practices we have talked about throughout the course and make your code as complete as possible.

When I grade your work, I'll be looking at code quality, so make sure your code is neat, that you use descriptive variable names, you've commented your code (focusing on the more complex parts of the code) and that your logic is organized and easy to read and follow the flow. If you'd like me to review your work before I grade it, please email me or ask in class or office hours.

To submit:

In the "Comment" field when you're submitting your files, I want you to include the URL to your GitHub repository where your code is. You will lose a letter grade if you don't have your code in GitHub! Upload your .py file to the Final Project assignment dropbox.

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme