Journal

Mon, July 8

I have found that I really enjoy many aspects of having a professor over a normal high school teacher. A professor's lecture feels much more personal than a school-teacher's lesson; it is evident the professor has invested a great deal of time and energy into the subject they are lecturing on. This brings a whole different energy to a class and makes it more exciting. The main lecture today was with Dr. Singh on biophysics. I found the topics and questions Dr. Singh posed fascinating and am inspired to research further into it.

I have not had much experience with living alone aside from trips with my school's band. These have been fairly short, and cannot be compared to dorm life. Living in dorms is a new, fun experience for me. My roommate has been great, and it has been fun to have friends down the hall with whom I can work or hang out. As I fall into a routine the dorms feel more like a home.

Today, in our robotics cluster, we worked in a lab, building basic robots and coding them in C. The lab experience was not totally new for me, for I have worked under similar conditions in my school's labs, my robotics teams, and in projects with my friends. I feel labs are great to learn because they provide you with all the tools you need to figure something out by yourself. I am looking forward to more time in the lab, and I hope to use that time, not only to complete the assigned projects, but to experiment with RobotC.

Tue, July 9

COSMOS has been a great deal of fun so far, and although it is just the second day, we have delved into the learning. I have really been enjoying the biophysics course. Dr. Singh introduced the course topic, random walks, from the ground up, starting with the simple atom and its properties. I learned about the basics of atoms in this lecture and gained a much greater interest in the topic. Today, with Dr. Cone, my skills with the Unix shell were refreshed and I got to experiment with C. This gave me an opportunity to progress my coding skills, learning new commands about pointers. Dr. Daad-Del's course has involved a lot of trial and error using RobotC, which has given me experience on the nature of working as a programmer and has given me more opportunity to improve my skills in C.

Wed, July 10

Over the past couple days, I have been doing a lot of coding in my classes. Before coming into this course I had studied Java very deeply and had spent a quite some time learning about the shell. I also was proficient in C basics. This meant that I was familiar and comfortable with all that was taught in the past couple days in C and UNIX. I was also comfortable with the lesson on how computers store data in binary thanks to knowledge from a number theory course I took. Being comfortable in the subject meant that I was able to tinker and experiment with what was presented. For example, I tested out pointers in C. The part of the lecture in Python, however, was unfamiliar territory for me. I am excited to be learning Python; it seems to be convenient and different from Java or C (given that it is a shell).

Fri, July 12

Over this first week, I have been getting to know my cluster-mates well and working with them in class. This makes class more enjoyable and I am able to learn more by working with those around me. It also makes time outside of class fun. It is great to hang out with people from my cluster in the dorms and around campus. In order to improve my COSMOS experience I should make more connections, both with people I don't speak with as much and with people outside my cluster. Talking to people I don't know will make my experience better here and is an important life skill.

Mon, July 15

In several instances today, I used problem solving techniques to solve issues with my code. In one case, I was writing a binary search algorithm in Biophysics. I was getting an out of bounds exception. I backtracked through the code that just ran and realized I was not calculating the middle index in the list correctly. In another case, in robotics, my robot was falling short when taking a turn. I increased the turn duration, and it overshot. From this, I deduced that a medium was needed to be found. Adjusting accordingly was successful.

Tue, July 16

I am working with Dylan on a robotics project to build a printer. Our originally brainstormed idea was to build a device that would take an image as an input, parse it, and replicate it pixel by pixel. However, looking into the real feasibility of this, we realized our hardware is probably not advanced enough to do this. We ended up with an idea of a pen attached to a 3-axis system that can draw out pre-programmed characters. This seems straightforward enough to implement. Yet still, we want to try to take this a step further. We looked into the possibility of image to text-art converters, which convert a picture into characters. This is much more possible. We plan to build a simple printer first, then experiment with software to make it perform more advanced tasks. This way, our project will not fail without this advance feature.

Wed, July 17

The greatest advantage I see in python is its convenience. It is very simple, since it is a shell, to write up and run. iPython3 runs exactly like the command line shell. C is powerful in that it is the basis of a lot of the programming world and has a lot of capabilities. Java is a more powerful version of C, thanks to its class hierarchy system.

Thurs, July 18

In the AP course I took in Java, I became familiar with pseudo-coding and its importance. It is risky to enter a program aimlessly because, if you do not step back and look at the program as a whole, you will probably be taking a wrong or inefficient route. This leads to much frustration and possibly having to restart. When I code, I like to make a very rough map of what each step in my code will do; a rough flowchart. Then, I think of the implementation piece by piece, often pseudo-coding to visualize different opportunities. I take this approach with whatever I code, and will do it with my printer project as well.

Fri, July 19

Over the first two weeks of COSMOS, I have become pretty fluent in Python. My view of programming has not really changed much, but the challenge problems have helped me improve my skills, especially in debugging. I have gotten much better at creating test-cases to run. I feel like I used lab time very effectively this week in two ways. In robotics, I found the line-follower exercise challenging, so I found my own algorithm to make it work universally on any line with 1 sensor. In the other case, in biophysics, I was finding some exercises too simple, so I took up a challenge problem that Michael gave me; this led me to learning new math. I look to learn this way for the next two weeks; make things challenging and work through challenges.

Mon, July 22

As all molecules do, molecules in biological systems take random walks. This means that within a functioning body, vital elements are not transported directly, but rather randomly arrive at their correct location. Most biomolecules pair up with some sort of port when they have arrived at their final destination. Some reactions need to occur quickly though, so catalysts may be used to speed the random process up. Modeling the paths of these particles can help us understand cell function at a molecular level.

Tue, July 23

For my robotics project, I am working with Dylan Nguyen. I chose to work with a partner in order to help bring more ideas into the project and divide the workload. Groups are able to come up with more and better refined ideas than an individual thanks to the thoughts and critiques of the members with different backgrounds. As a group, work can be split up, so menial tasks can be finished faster and more attention can be given to brainstorming.

Wed, July 24

This morning, we set goals before working on our robotics project. I feel like the goals I set were realistic; I wished to make some minor hardware fixes, then pseudocode. We got through the hardware part, changing the positioning of the sensor and deciding against creating a writing surface. However, in the software portion, instead of flowcharting, we began to work on a focused chunk of code, hit a dead end and stopped. Next time, we should follow our goals to the word and not get sidetracked.

Thurs, July 25

Today, we the UC Davis's marine research facility at Bodega Bay. Though this subject does not seem to be directly related to what we are doing in Cluster 5, it really turned out to be. My favorite part of the visit was a lecture and tour from a professor and oceanographer at the facility. He talked about the physics of the ocean, including that of waves and upwelling. Upwelling is phenomenon that occurs in Bodega Bay, due to pressure changes near the shore thanks to northerly winds and the Cornelias effect. These physical phenomenon can be modeled using computer science. The professor also showed us small robots the facility uses that imitate the actions of plankton and take data measurements in the water.