Skip to content

Latest commit

 

History

History
76 lines (66 loc) · 8.72 KB

F17_lab03.md

File metadata and controls

76 lines (66 loc) · 8.72 KB

<<<<<<< HEAD Jake Guida Daniel Millstein -a. This is a prototype for an object for screen scraping the Curriculum Search page. -b. As a student I can use this Gold scraper too look up information about the courses offered at UCSB. -c. You can run the scraper through the terminal to look up courses, but the GUI seems to not exist yet. -d. Make it so searches can be more specific than just the department. Have the ability to compare the times of classes to mock up a schedule. Write a function that takes in a requirement and displays the classes that fufill that requirement. A function that allows you to sort through classes by the days and time they are offered. +a. The goal of this project is to create a search tool for UCSB students to use to look up information about clases at UCSB. The user will input a department, year, quarter, class level, and the program will return classes that fit the parameters and information about this classes like when and where they are offered and enrollment codes. + +b. As a student I can input the a department, year, quarter, and class level for a possible class I want to take, and the program will return a list of classes that fit the description I gave, along with important information about the class like lecture and section times, enrollment codes, location, and the classes capacity. + +c. You can run the scraper through the terminal to look up courses, and with a GUI interface. In both cases the code seems to run as described it should. It lets the user input the search parameters, then returns a list of classes that match the desired parameters. + +d. As a student I could input times during the day that I already have class, and search for classes by what fits into my daily schedule. As a student I could look up a specific graduation requirement, and recieve a lsit of classes that fufill the reqirement. Both of these could be added in addition to the existing search parameters. + e. The read me seems to be in a good place. It was pretty clear about what the goal of the project was, but not as much on where exactly on the path to the final goal the code is. + f. The build.xml has descriptions for all targets, and does not seem to have old legacy JWS stuff that needs to be removed. + g. The issues are described clearly, and according to their estimates there is more than 1000 points of fixes to makes. + h. We had troubles getting the GUI to work, but it was unclear if it was a problem with my machine or the code. -i. There is a lot of code to sift through, but the names of the classes make it easy to see what each class does. When looking at the classes it is clear how there are different objects for lectures and sections. There is also a class that allows you to look through the UCSB curriculum. The methods are also clear as to their purpose. There does not seem to be many large or hard to follow methods, just some unfamiliar sintax. I think the most important piece of information to convey to a person looking at the code for the first time is how the lecture, section, and search curriculum class interact. + +i. The code seems to be broken up mainly into 5 java classes: SearchGui_Curriculum.java UCSBgui.java UCSBSection.java +UCSBCurriculumSearch.java UCSBLecture.java. UCSBCurriculumSearch.java is where all the information needed for the +program to function is actually scrapped from the Gold website. This class looks through all of the html code for the +website and parses out the information about classes that it will later use to give the user output. UCSB lecture and +UCSB section are similar classes, both being objects created with information recieved in UCSBCurriculum search. UCSB +lecture really just is a way of storing and representing lectures as objects with the specific information they need +to be classified and searched for stored as member variables. UCSB section is essentially the same a s UCSB lecture just
+for a section object which has different values than a lecture, and is always going to be connected to some corresponding +lecture object (this is because no section is offered without a corresponding lecture). The other 2 classes are +UCSBgui.java and SearchGui_Curriculum.java, which both deal with the entire gui implementation of the code. In these +classes there is no code getting or organizing information that is all done in the previous 3 classes, these classes +exclusively set up a gui interface for users to use the scraper through a gui. These both rely on getting and organizing
+the information to be returned to the user from the othe r3 classes. Lastly the file contains three test classes which +are pretty much explained by their names: UCSBLectureTest.java, UCSBSectionTest.java, and UCSBCurriculumSearchTest.java. + + j. The test coverage seems pretty comprehensive. There are JUnit tests, but it somewhat unclear as to how many of these tests the code is actually passing and how mmany it is actually failing. There seems to be an oppertunity to improve the feedback given by the tests.

a. The goal of this project is to create a search tool for UCSB students to use to look up information about clases at UCSB. The user will input a department, year, quarter, class level, and the program will return classes that fit the parameters and information about this classes like when and where they are offered and enrollment codes.

b. As a student I can input the a department, year, quarter, and class level for a possible class I want to take, and the program will return a list of classes that fit the description I gave, along with important information about the class like lecture and section times, enrollment codes, location, and the classes capacity.

c. You can run the scraper through the terminal to look up courses, and with a GUI interface. In both cases the code seems to run as described it should. It lets the user input the search parameters, then returns a list of classes that match the desired parameters.

d. As a student I could input times during the day that I already have class, and search for classes by what fits into my daily schedule. As a student I could look up a specific graduation requirement, and recieve a lsit of classes that fufill the reqirement. Both of these could be added in addition to the existing search parameters.

e. The read me seems to be in a good place. It was pretty clear about what the goal of the project was, but not as much on where exactly on the path to the final goal the code is.

f. The build.xml has descriptions for all targets, and does not seem to have old legacy JWS stuff that needs to be removed.

g. The issues are described clearly, and according to their estimates there is more than 1000 points of fixes to makes.

h. We had troubles getting the GUI to work, but it was unclear if it was a problem with my machine or the code.

i. The code seems to be broken up mainly into 5 java classes: SearchGui_Curriculum.java UCSBgui.java UCSBSection.java UCSBCurriculumSearch.java UCSBLecture.java. UCSBCurriculumSearch.java is where all the information needed for the program to function is actually scrapped from the Gold website. This class looks through all of the html code for the website and parses out the information about classes that it will later use to give the user output. UCSB lecture and UCSB section are similar classes, both being objects created with information recieved in UCSBCurriculum search. UCSB lecture really just is a way of storing and representing lectures as objects with the specific information they need to be classified and searched for stored as member variables. UCSB section is essentially the same a s UCSB lecture just for a section object which has different values than a lecture, and is always going to be connected to some corresponding lecture object (this is because no section is offered without a corresponding lecture). The other 2 classes are UCSBgui.java and SearchGui_Curriculum.java, which both deal with the entire gui implementation of the code. In these classes there is no code getting or organizing information that is all done in the previous 3 classes, these classes exclusively set up a gui interface for users to use the scraper through a gui. These both rely on getting and organizing the information to be returned to the user from the othe r3 classes. Lastly the file contains three test classes which are pretty much explained by their names: UCSBLectureTest.java, UCSBSectionTest.java, and UCSBCurriculumSearchTest.java.

j. The test coverage seems pretty comprehensive. There are JUnit tests, but it somewhat unclear as to how many of these tests the code is actually passing and how mmany it is actually failing. There seems to be an oppertunity to improve the feedback given by the tests.

1023721a7e7dafc1105e13c4c408c4c9c6ac1d33