Skip to main content

Develop a Python program to dynamically complete certain tasks

 Description: The university maintains course schedules at http://appsprod.tamuc.edu/Schedule/Schedule.aspx for different semesters (spring, fall, winter, etc ). You will develop a Python program to dynamically complete certain tasks, such as list, find, sort, and save, in course listings from schedule portal. You will mainly use "request" and "BeautifulSoup" libraries (or similar, see exercise 12.1). The program will operate at different level: Semester and Department.  Your program will be a menu based application. Assume that you project file is myproject.py. Once you run, it will show last 5 semester (fall, spring, summer only, (not winter, may mini))

> python myproject.py
Choose a semester: 1) Sprint 2021   2)Fall 2020  3)Summer II  4)Summer I 5)Spring 2020 
Selection: 2

Here, your program will parse the data from website and show only last (most recent) 5 semesters. User will make selection, then, you will show departments for the selected semester (Fall 2020). Note that selected semester is visible before a ">" sign.

Fall 2020> Select a department:
1) Undeclared
2) Accounting and Finance
3) Art
4) Ag Science & Natural Resources
...
...
30) Social Work
31) Theatre
Q)Go back

Selection: 3

Fall 2020> Art > Select an option:
1) List courses by instruction name
2) List courses by capacity
3) List courses by enrollment size
4) List courses by course prefix
5) Save courses in a csv file
6) Search course by instruction name
7) Search courses by course prefix
Q)Go back
Selection: ??

Here, your program will parse the data from website and show all available department then list of tasks. Q (go back) option will take user to previous level. 

Course listing output should show the following fields. For instance for course listing for "Fall 2020> Computer Science & Info Sys> List the course by prefix " should show

PrefixIDSecNameInstructorHoursSeatsEnroll.COSC130101WIntro to CompuLee, Kwang33510COSC143601EIntro to Comp Sci & ProgBrown, Thomas44036COSC143601LIntro to Comp Sci & ProgBrown, Thomas4036COSC143601WIntro to Comp Sci & ProgHu, Kaoning44543COSC143602EIntro to Comp Sci & ProgHu, Kaoning43532

as first 5 rows.

You will follow above headers and order (prefix (col. width 6), ID (5), Sec (5) ,Name (25), Inst (20), Hours (5), Seats (5), Enroll. (7) ) for other listing selections too. Data cell should be aligned with column header and left justified. A course name should not have a word more than 5 chars. For instance Algorithms should be abbreviated as "Algor". The length of course name will not exceed 25 chars. In option 5, the above format should be used to save a listing to a file as .csv format. User will be able to provide a filename for csv file.

For this program you need to develop at least one class (chapter 10) with (possible) many methods

Comments

Popular posts from this blog

Why was this movie important to hollywood? What was the feeling of it, the colors, techniques, theme, director, style, music, anything! What was special about Alfred Hitchcock and this film?

  Directions For this assignment, you will need to choose a topic or person from any of the various eras, movements or decades that we've discussed this semester and do a presentation on them using any media format you choose. (IM CHOOSING THE MOVIE PSYCHO-    Why was this movie important to hollywood? What was the feeling of it, the colors, techniques, theme, director, style, music, anything!  What was special about Alfred Hitchcock and this film? The subject matter doesn't have to be limited to an actor, director or filmmaker, but  the topic of your presentation could be on the inventions of any of the equipment, editing or filming techniques that you've learned about.  Basically, you can pick an area to cover and do your presentation on that.  The point is that you take a deeper dive into the subject by exploring information about it that may not have been  covered in this course.  It does have to...

Account Cost Systems and Cost Behaviors

  ACC501 Account Cost Systems and Cost Behaviors You are applying for a managerial position at an innovative and rapidly growing company. This is a dynamic company that wants an individual who adds value to the organization. Managers at this company wear many hats, so the position requires managing products, people, and financial aspects of running the company. As part of the interview process, you are required to make a presentation covering four different topics, one per module for this course. You choose the company and the new product that you want to showcase in your presentation. It can be real or fictitious (based on an industry). This is for background purposes only. The presentation is to showcase your abilities and what you can contribute to the organization. IBIS World (access on the Trident Portal through the Online Library > Additional Library Resources > IBISWorld link) and BizStats have estimates of cost of goods sold ...

Starting with this provided code, add the following functionality

1.Starting with this provided code, add the following functionality: Replace hardcoded strings “Zero”, “One”, “Two”, “Three” in the ArrayList based on user typed input (use Scanner or JOptionPane classes). The user will be prompted for the String to be stored in the ArrayList and then hit enter. The user will be able to continue to add items to the ArrayList until they just hit enter without typing anything. Once the user does this (hits enter without typing anything), the program will display all of the elements of the ArrayList, both the index and String values, in a table. It will do this via a single loop making use of an iterator method. 2. Starting with this provided code, add the following functionality: Use a Try/Catch block so that the exception is caught and the program exits a bit more gracefully. Save this file as TryCatch.java. (Be sure to rename the Public Class accordingly.) Starting with the provided code again (without the Try/Catch block), fix the code so that ...