Thursday: 12:55-2:30
Friday: 1:23-2:30
Toward the end of the week, I continued with working on the app. I almost have the Python script uploading data to our database, except that since Python doesn't allow you to declare data types, the script kept giving me errors about using a set when I meant the variable to be a list. After I remedied that problem, I very shortly ran into another. The data that I had scraped from the high school site was impossible to parse the way it was. There is no common format in the information that I received from the online table. I can't parse by spaces because some of the club names have spaces in them, I can't parse by number because not all of the locations of the clubs are room numbers, some are letters like the auditorium.The entry for byte Club doesn't even have any spaces at all! So, I've decided to try to contact the keeper of the website so that some sort of format can be established by either him or me so that parsing is possible. Without data, I decided to upload test data into the database to make sure that that area of the code was functioning ahead of time. I was able to finish this by the end of the week.
I think that the app is coming along very nicely. Once I establish a connection with the man who oversees the high school website, I think the rest of the app will be a lot easier. Though there are still some things that we will need to scrape that aren't held in this one location, it will make life a lot easier to be able to make changes for those that are. A lot of the difficulty that we are seeing on the scraping front is simply finding a pattern among the data we collect to make it manageable, usable, and parseable. Being able to edit the code on the other end of the data will cut down the workload on a lot of the areas of the app that we still need to complete. Once all of the scraping is working, we just need to make everything look professional, test, and add in some of our own fun little easter eggs, if we have time.
This blog keeps track of my experiences as a technology intern at Cedar Crest High School.
Search This Blog
Friday, February 27, 2015
Thursday, February 26, 2015
February 17-18
Tuesday: 1:25-2:30
Wednesday: 12:25-2:30
Continuing with my app work, during the start of the week, I worked on uploading the information scraped from the clubs section of the High School website to our database. This wasn't too difficult to do, since I could use much of the code from the previous scraping code for the newspaper articles. However, the newspaper code needed to be a lot more complex than the club code did, so I had to trim unnecessary code out, change the name of the object each entry is stored as, and make sure that there was a club object in the database that had the necessary categories of data to be filled in by each object. My colleague decided to get started on 2-hour delay and no-school notifications. We made a few decisions on how we wanted that to work, and then he went to do some research on how to make it happen. We decided that push notifications would be the route we wanted to go, but we also wanted to have a notification center in the app that kept track of those sorts of things. The notification center might be a whole other battle, though.
Additionally, on Wednesday, we had a meeting with all of the members of the student tech team that could make it. Unfortunately, all of the people that could make it were the people from Byte Club that already knew most of what would be going on. Nonetheless, we had a good meeting and got the general idea of the tech team down. We are going to try to set up a student help desk during school whenever people have the time, and we are also thinking about taking over the high school website for opportunities to code. The people who did come will make a great addition to the team and hopefully we will be able to get in touch with and meet those who could not attend in the near future.
Additionally, on Wednesday, we had a meeting with all of the members of the student tech team that could make it. Unfortunately, all of the people that could make it were the people from Byte Club that already knew most of what would be going on. Nonetheless, we had a good meeting and got the general idea of the tech team down. We are going to try to set up a student help desk during school whenever people have the time, and we are also thinking about taking over the high school website for opportunities to code. The people who did come will make a great addition to the team and hopefully we will be able to get in touch with and meet those who could not attend in the near future.
Friday, February 20, 2015
February 12-13
Thursday: 12:55-2:30
Friday: 12:55-2:30
For the rest of the week, I worked on the app and some planning for the student tech team. We started to look through the applications we had received for the student tech team. Few though they were, most of the applicants seemed like a great fit for the kind of program we are looking like instituting. We had people who were interested in each area we looked at working with. Also, even though we don't have many people right now, it will probably be better for us to start small in our first year with the team so that we can stay organized and have the start-up run smoothly. So, we scheduled a meeting for next Wednesday with all of the applicants we decided to accept right away.
On the app front, we finally got our database to work with Python! It turns out that Parse has an API for Python, we just couldn't find it. So, now that we can get Parse to work in the scraping code of the app, we will be able to only scrape every once in a while and allow all of the devices who are accessing the information to do so quickly instead of having to scrape every time a page is viewed. We also worked on viewing PDF's of our school newspaper in an app. So far, we have scraped the links that point to the PDF's of the various issues of the paper. Now, we are working on uploading those links to our database, then collecting them from the database in the HTML of the app, and displaying them on the phone. We are also running into an issue with the site we are scraping from, however. The high school's website does not have links to a PDF of every issue of the newspaper. Instead, there are a few consecutive years in which there are no links at all. Additionally, the ones that do have links store them in separate ways. So, we have to figure out how to scrape consistently when the links are in different places and some times aren't there at all. For those that do not appear at all, we have contacted the staff member who supervises the making of the school newspaper to see if he has copies of the missing issues. He has responded that he does have the issues we need, so we will have to scan those issues into PDF format and then give them to the staff member who runs the school website to have them put up.
This week was very productive for me. I worked on various different projects and I think that they are all coming along nicely. We are making leaps and bounds with the app, which is well on it's way to being functional, and we are starting to turn theory into action with the tech team. Hopefully, we will be able to make enough of a dent in both projects that the future groups will have an easy ride finishing what we've started.
Friday: 12:55-2:30
For the rest of the week, I worked on the app and some planning for the student tech team. We started to look through the applications we had received for the student tech team. Few though they were, most of the applicants seemed like a great fit for the kind of program we are looking like instituting. We had people who were interested in each area we looked at working with. Also, even though we don't have many people right now, it will probably be better for us to start small in our first year with the team so that we can stay organized and have the start-up run smoothly. So, we scheduled a meeting for next Wednesday with all of the applicants we decided to accept right away.
On the app front, we finally got our database to work with Python! It turns out that Parse has an API for Python, we just couldn't find it. So, now that we can get Parse to work in the scraping code of the app, we will be able to only scrape every once in a while and allow all of the devices who are accessing the information to do so quickly instead of having to scrape every time a page is viewed. We also worked on viewing PDF's of our school newspaper in an app. So far, we have scraped the links that point to the PDF's of the various issues of the paper. Now, we are working on uploading those links to our database, then collecting them from the database in the HTML of the app, and displaying them on the phone. We are also running into an issue with the site we are scraping from, however. The high school's website does not have links to a PDF of every issue of the newspaper. Instead, there are a few consecutive years in which there are no links at all. Additionally, the ones that do have links store them in separate ways. So, we have to figure out how to scrape consistently when the links are in different places and some times aren't there at all. For those that do not appear at all, we have contacted the staff member who supervises the making of the school newspaper to see if he has copies of the missing issues. He has responded that he does have the issues we need, so we will have to scan those issues into PDF format and then give them to the staff member who runs the school website to have them put up.
This week was very productive for me. I worked on various different projects and I think that they are all coming along nicely. We are making leaps and bounds with the app, which is well on it's way to being functional, and we are starting to turn theory into action with the tech team. Hopefully, we will be able to make enough of a dent in both projects that the future groups will have an easy ride finishing what we've started.
Wednesday, February 18, 2015
February 9-11
Monday: 12:55-2:30
Tuesday: 1:25-2:30
Wednesday: 12:25-1:47
The majority of the beginning of this week has been dedicated to app work. We are now starting to integrate the data scraping algorithms with the database we have set up to facilitate the app. This way, the scraping doesn't need to be done every time the app runs, which will cut down on loading time for users. We are also continuing the scraping code itself. We have started to scrape the information for which clubs are during which weeks, and are making sure that the information we collect via beautifulSoup is indeed the information we want and will continue to be the correct information every time we run the Python code. The difficult situation we are facing now is that the database we are using may not be integrable with Python. It has API's for multiple languages, but we are not sure that Python is one of them. There are a few interesting ways around this issue. For example, we are toying with the idea of embedding other languages within our Python code so that those languages can run the necessary code to instantiate the database and upload new data to it. The next step will be integrating the data we scraped and stored into the HTML we have for each page in the app.
On Wednesday, my colleague, my mentor and I got together to talk about some of our future plans. The student tech team will be starting up shortly, and we have to get an idea of everyone's schedules in order to do so. We also talked about the different things that the tech team could do. The idea of allowing students to run a help desk during school hours was thrown out, and will likely be implemented in following years. Another school in the area has an already-established student help desk that we can pull ideas from. I, unfortunately, will not be able to participate in that, but I will get to pave the way for it to be possible. With my time left in high school running surprisingly short, I hope that I will be able to see some of these exciting changes come about before my time is up.
Tuesday: 1:25-2:30
Wednesday: 12:25-1:47
The majority of the beginning of this week has been dedicated to app work. We are now starting to integrate the data scraping algorithms with the database we have set up to facilitate the app. This way, the scraping doesn't need to be done every time the app runs, which will cut down on loading time for users. We are also continuing the scraping code itself. We have started to scrape the information for which clubs are during which weeks, and are making sure that the information we collect via beautifulSoup is indeed the information we want and will continue to be the correct information every time we run the Python code. The difficult situation we are facing now is that the database we are using may not be integrable with Python. It has API's for multiple languages, but we are not sure that Python is one of them. There are a few interesting ways around this issue. For example, we are toying with the idea of embedding other languages within our Python code so that those languages can run the necessary code to instantiate the database and upload new data to it. The next step will be integrating the data we scraped and stored into the HTML we have for each page in the app.
On Wednesday, my colleague, my mentor and I got together to talk about some of our future plans. The student tech team will be starting up shortly, and we have to get an idea of everyone's schedules in order to do so. We also talked about the different things that the tech team could do. The idea of allowing students to run a help desk during school hours was thrown out, and will likely be implemented in following years. Another school in the area has an already-established student help desk that we can pull ideas from. I, unfortunately, will not be able to participate in that, but I will get to pave the way for it to be possible. With my time left in high school running surprisingly short, I hope that I will be able to see some of these exciting changes come about before my time is up.
Wednesday, February 11, 2015
February 5-6
Thursday: 12:55-2:30
Friday: 12:25-2:30
On Thursday, I continued my work on the app. I found a much simpler and more efficient way to code what we needed to have done that also tied up all of the loose ends we had left when trying to code before. I discovered this method by doing a lot of research on BeautifulSoup and all of its many functions. So, I turned what had been tens of lines of code into about 9 that did the same thing, only better. This only further proves the theory that thought and work in the preparation stages of a project can save exponential amounts of time and work when actually doing the project. So, now that we have figured out a way to scrape for this kind of data that we need, we can use the same process to scrape for some of the other necessary data. Not all of the data will be this simple to scrape, but I figured that it would work better if we learned by scraping the simple data, and then once we are more confident in how the scraping process works, we can start to tackle the more difficult items.
Friday marked the February meeting of Byte Club, which was not any ordinary meeting. This week, we welcomed all of the new students who would be joining Byte Club in the new semester. These students are those who completed Computer Science Fundamentals 2 satisfactorily and have an interest in being involved in the club. So, we started the meeting and got all of the new students into existing teams so that they could make their own teams and projects in the coming years. We also made some decisions based on an upcoming fundraiser at the Aevidum lock-in. We were requested to set up a video game tournament similar to the one we hosted at the school fair at the beginning of the year. So, we decided that we would host a tournament, and that we would want to charge for the service. However, depending on how money for Aevidum will be made during the night, we will either charge a flat rate to the Aevidum, or will charge per-game or per-entrance to the tournament. I will get in touch with the adviser of Aevidum next week so that I can figure out their situation and come to an agreement on price etc.
This week, I have seen some exciting strides happening in Byte Club and with the app development. Within Byte Club, the incoming members have a lot of energy and motivation to get started on projects and I think that they will help to push the existing members to work on their projects and make exciting things. Furthermore, we have an opportunity to get our name out once again, while making a bit of money for future use and maybe even scholarships, if we eventually get enough income. For the app, I was correct in saying that having another person to work with while in school would be great for development. My colleague and I push each other to do better and to get more done in the app, so we have done more this week than we have in the past few combined. If our progress continues, I think that we have a good chance of being able to test and maybe even finish the app before the year is over.
Friday: 12:25-2:30
On Thursday, I continued my work on the app. I found a much simpler and more efficient way to code what we needed to have done that also tied up all of the loose ends we had left when trying to code before. I discovered this method by doing a lot of research on BeautifulSoup and all of its many functions. So, I turned what had been tens of lines of code into about 9 that did the same thing, only better. This only further proves the theory that thought and work in the preparation stages of a project can save exponential amounts of time and work when actually doing the project. So, now that we have figured out a way to scrape for this kind of data that we need, we can use the same process to scrape for some of the other necessary data. Not all of the data will be this simple to scrape, but I figured that it would work better if we learned by scraping the simple data, and then once we are more confident in how the scraping process works, we can start to tackle the more difficult items.
Friday marked the February meeting of Byte Club, which was not any ordinary meeting. This week, we welcomed all of the new students who would be joining Byte Club in the new semester. These students are those who completed Computer Science Fundamentals 2 satisfactorily and have an interest in being involved in the club. So, we started the meeting and got all of the new students into existing teams so that they could make their own teams and projects in the coming years. We also made some decisions based on an upcoming fundraiser at the Aevidum lock-in. We were requested to set up a video game tournament similar to the one we hosted at the school fair at the beginning of the year. So, we decided that we would host a tournament, and that we would want to charge for the service. However, depending on how money for Aevidum will be made during the night, we will either charge a flat rate to the Aevidum, or will charge per-game or per-entrance to the tournament. I will get in touch with the adviser of Aevidum next week so that I can figure out their situation and come to an agreement on price etc.
This week, I have seen some exciting strides happening in Byte Club and with the app development. Within Byte Club, the incoming members have a lot of energy and motivation to get started on projects and I think that they will help to push the existing members to work on their projects and make exciting things. Furthermore, we have an opportunity to get our name out once again, while making a bit of money for future use and maybe even scholarships, if we eventually get enough income. For the app, I was correct in saying that having another person to work with while in school would be great for development. My colleague and I push each other to do better and to get more done in the app, so we have done more this week than we have in the past few combined. If our progress continues, I think that we have a good chance of being able to test and maybe even finish the app before the year is over.
February 2-4
Monday: 1:25-2:30
Tuesday: 12:55-2:00
Wednesday: 12:23-2:30
On Monday of this week, I had a meeting with the instructional tech staff about the use of Office 365 and the continued planning of the student tech team. Office 365 will be implemented for students so that they can use Microsoft Word and other applications at home even if they have not bought it for their own computers. This way, the quality of work from students will not depend on their ability to purchase software. Office 365 will also allow students to easily transfer documents from their home computers to their school computers and back. Finally, Office 365 will soon be able to link with the Moodle accounts of students, which will make all of the software teachers are encouraged to use more smoothly integrated. Additionally, an advertisement for applications to the tech team was aired on the announcements, and the application deadline will be extended because of it. After the meeting, I returned to my adviser's room to finish up the remaining issues with the italc software-mainly the two computers that the software did not download onto properly.
For the next two days, my colleague and I worked on the app development and the data scraping for the background of the app. We started with deciding upon and downloading the necessary software to easily data scrape. We are planning on using BeautifulSoup with Python to make our scraping algorithms. Next, we had to find the patterns in the sites we wanted to scrape so that we could consistently scrape all of the necessary data in future years. We came upon a problem here: the first thing we decided to scrape was the school newspaper. The PDF's of the paper were all stored in one place, but the sequence of the url's that led to each issue had no pattern at all. So, we had to find another way to get the issues without knowing the url that led to it, but we also had to make sure that we got every available issue every year.
Tuesday: 12:55-2:00
Wednesday: 12:23-2:30
On Monday of this week, I had a meeting with the instructional tech staff about the use of Office 365 and the continued planning of the student tech team. Office 365 will be implemented for students so that they can use Microsoft Word and other applications at home even if they have not bought it for their own computers. This way, the quality of work from students will not depend on their ability to purchase software. Office 365 will also allow students to easily transfer documents from their home computers to their school computers and back. Finally, Office 365 will soon be able to link with the Moodle accounts of students, which will make all of the software teachers are encouraged to use more smoothly integrated. Additionally, an advertisement for applications to the tech team was aired on the announcements, and the application deadline will be extended because of it. After the meeting, I returned to my adviser's room to finish up the remaining issues with the italc software-mainly the two computers that the software did not download onto properly.
For the next two days, my colleague and I worked on the app development and the data scraping for the background of the app. We started with deciding upon and downloading the necessary software to easily data scrape. We are planning on using BeautifulSoup with Python to make our scraping algorithms. Next, we had to find the patterns in the sites we wanted to scrape so that we could consistently scrape all of the necessary data in future years. We came upon a problem here: the first thing we decided to scrape was the school newspaper. The PDF's of the paper were all stored in one place, but the sequence of the url's that led to each issue had no pattern at all. So, we had to find another way to get the issues without knowing the url that led to it, but we also had to make sure that we got every available issue every year.
Saturday, February 7, 2015
January 29-30
Thursday: 12:55-2:30
Friday: 12:55-2:30
Toward the end of the week, we started installing the software onto the machines in our club advisor's lab and getting it to work! It was a little tedious to get the software and keys onto each machine, but after that was finished and a little troubleshooting, I was able to use the software to its full capacity and monitor all of the computers in the lab. Now, we just need to configure the master computer in the lab, and fix two problem computers and the job will be done. This will be a huge improvement for the lab because the computers in this particular room are on their own network and are given more privileges than other computers in the school. So, it is very necessary to make sure all of the kids on these computers aren't getting into anything they shouldn't be. Additionally, it is always good to make sure students are on task, and this will allow our advisor to do so better. I also got to sit in on a meeting with my mentor, a counselor, and one of the app group members to see if a student internship with some of the tech team would fit into his schedule for the new semester. If this would be possible, a lot more work could be done during the time that I am interning and he is student assisting, and the app could progress much quicker. He will also get a chance to help out with the tech team once it gets kicked off.
This week was a lesson in persistence. It took a lot more time to iron out the problems with the new software we were installing than I had originally thought it would. Yes, we would be working around classes, but I thought that the hardest part of the process would be downloading the software onto all of the machines without kicking any students off of their computers. Instead, the trouble was with figuring out the software and getting everything to work correctly. However, I am glad that it is done now. I'm sure there is more to learn about the software before the year is over, but at least it runs correctly on the machines that have it.
Friday: 12:55-2:30
Toward the end of the week, we started installing the software onto the machines in our club advisor's lab and getting it to work! It was a little tedious to get the software and keys onto each machine, but after that was finished and a little troubleshooting, I was able to use the software to its full capacity and monitor all of the computers in the lab. Now, we just need to configure the master computer in the lab, and fix two problem computers and the job will be done. This will be a huge improvement for the lab because the computers in this particular room are on their own network and are given more privileges than other computers in the school. So, it is very necessary to make sure all of the kids on these computers aren't getting into anything they shouldn't be. Additionally, it is always good to make sure students are on task, and this will allow our advisor to do so better. I also got to sit in on a meeting with my mentor, a counselor, and one of the app group members to see if a student internship with some of the tech team would fit into his schedule for the new semester. If this would be possible, a lot more work could be done during the time that I am interning and he is student assisting, and the app could progress much quicker. He will also get a chance to help out with the tech team once it gets kicked off.
This week was a lesson in persistence. It took a lot more time to iron out the problems with the new software we were installing than I had originally thought it would. Yes, we would be working around classes, but I thought that the hardest part of the process would be downloading the software onto all of the machines without kicking any students off of their computers. Instead, the trouble was with figuring out the software and getting everything to work correctly. However, I am glad that it is done now. I'm sure there is more to learn about the software before the year is over, but at least it runs correctly on the machines that have it.
Wednesday, February 4, 2015
January 26-28
Monday: 1:25-2:30
Tuesday: 1:25-2:30
Wednesday: 12:25-2:30
This week, I started to work on some scheduling with Microsoft Project. during 7th period, I got some time to try and make a tentative schedule for the remaining components of the app. I am hopeful that we will finish before the end of the school year. This kind of scheduling is difficult for me because I'm not necessarily certain how long each section of the creation should take, so it is even harder for me to decide how long I should let them take. This is good practice, though, so that in the future it might not be quite as difficult to accomplish.
I was also able to work on the app with one of the app group members who has begun a student assistantship with some of the instructional technology staff. We began to take on the task of data scraping for the app. We decided that Python had the tools that would make it best to use for scraping, and began research and download of the necessary software to make it possible to begin coding in Python. The most important tool we are going to be using is called BeautifulSoup, which is a Python library that makes parsing source code very simple. This is very important because a lot of the resources we are going to need to scrape are inconsistent in their labeling, or would simply not be fun to have to scrape on our own, especially since we are not very familiar with Python yet.
Tuesday: 1:25-2:30
Wednesday: 12:25-2:30
This week, I started to work on some scheduling with Microsoft Project. during 7th period, I got some time to try and make a tentative schedule for the remaining components of the app. I am hopeful that we will finish before the end of the school year. This kind of scheduling is difficult for me because I'm not necessarily certain how long each section of the creation should take, so it is even harder for me to decide how long I should let them take. This is good practice, though, so that in the future it might not be quite as difficult to accomplish.
I was also able to work on the app with one of the app group members who has begun a student assistantship with some of the instructional technology staff. We began to take on the task of data scraping for the app. We decided that Python had the tools that would make it best to use for scraping, and began research and download of the necessary software to make it possible to begin coding in Python. The most important tool we are going to be using is called BeautifulSoup, which is a Python library that makes parsing source code very simple. This is very important because a lot of the resources we are going to need to scrape are inconsistent in their labeling, or would simply not be fun to have to scrape on our own, especially since we are not very familiar with Python yet.
Subscribe to:
Posts (Atom)