Home research People General Info Seminars Resources Intranet
| Algorithms & Applcations Group | Home | Research | Publications | People | Resources | News
Home Page for Nicholas DuVall Stradford | Parasol Laboratory

Picture Nicholas DuVall Stradford
Algorithms & Applications Group

Parasol Laboratory url: http://parasol.tamu.edu/~nds0057/
Department of Computer Science and Engineering email:
Texas A&M University office: 419A HRBB
College Station, TX 77843-3112 tel:
USA fax: (979) 458-0718

Summer 2012 Research

About Me

Name: Nick Stradford
Grade: Senior at the University of North Texas
Major:Computer Science

About my Mentors

Faculty Advisor

Name: Nancy M. Amato
University: Texas A&M
Department: Department fo Computer Science and Engineering: Parasol Laboratory
Research: Algorithmic solutions for computational biology (e.g., protein folding and drug design), motion planning (e.g., animation and robotics), computational geometry, parallel and distributed computing (e.g., parallel algorithms, performance modeling & prediction), and computational science (e.g., physics, geosciences, neuroscience).
Website: https://parasol.tamu.edu/people/amato/

Graduate Advisor

Name:Sam Ade Jacobs
University: Texas A&M
Department: Department fo Computer Science and Engineering: Parasol Laboratory
Research: Robot motion planning and high performance computing.
Website: https://parasol.tamu.edu/people/sjacobs/

My Summer Research

    The motion planning group currently focuses on implementing a Probabilistic Roadmap Method(PRM) approach to their motion planning algorithms. Rapidly Exploring Random Tree is another approach to this method(RRT). I am expected to design and implement a working version of RRT in parallel. This will be done independently but cooperatively with my graduate advisor Sam Jacobs.

My Final Paper


Weekly Journals

Week 1: May 28-June 3, 2012

    Hi, everyone. This was my initial week of research. I was introduced to some introductory links and articles on motion planning. This exposed me to the concept as it applies to robotics, and I was also shown terms like configuration space and probabilistic road-mapping. Besides motion planning, I was also introduced to the concepts of parallel programming. To help me grasp this, I was shown how thousands of processors can work in unison to accomplish a task quicker. It will be fun to get a better grasp of these ideas and actually see examples of them working.

    Outside of my research, I am staying in a dorm close to campus. The dorm is located in an area called Northgate, which is full of restaurants, clubs, and some places to shop. It has been fun walking by these things everyday and supposedly this area is really fun on weekends. My dorm, the recreation center, and the people I work with have made my transition easy. This will be a fun, productive summer.

Week 2: June 4-June 10, 2012

    This week I continued learning about PRM's and parallel programming. Sam talked with me about parallelizationwith STAPL. He explained how the C++ Standard Template Library is the basis of the STAPL code. Particularly, how the iterators, containers, algorithms, and functors have slightly different versions in STAPL. Also, I read papers about the PRM approach, the PRM approach being Embarrasingly parallel, and a Wall Street article about parallel programming and teenagers.

    Outside of papers, I have finally started getting into the code more. I have completed two coding assignments that made me create and experiment and graph the results with GNU Plot. Both of these assignment required me to write a report in Latex about them also, so I have learned a considerable amount about Latex, too. Lastly, I went to my first lecture seminar on Tuesday, and it was an introduction to a weekly lecture series I plan on attending every Tuesday.

    Another seminar/information session I went to was on Thursday. This seminar was about graduate school and the different avenues you can take with it. We covered the difference between a Master's degree with a thesis and a Master's degree you gain from just taking some classes. Also, we talked about trying to haves jobs or departments to fund you in graduate schools Fellowships and other types of followships are out there to help us. Another topic discussed was the idea of applying to a school's based on the professor, not the school itself. You need to make sure a school is studying what you want to research, and you should make sure you are prepared to be with the professor who is the head of that research area at your desired school.

    I have been learning a lot everyday and I plan on continuing my reading course next week. Next week I hope to finish my third and fourth assignments, and then I can start more work towards my actual reserach, hopefully. I know I have a lot to learn, though. My graduate advisor, Sam, has given me two assignments I plan on having done by the beginning to middle of next week. He has given me a section of his code to help with minor clean up and he has stated he has an experiment he would like me to help him with next week.

Week 3: June 11-June 17, 2012

    This week I learned a substantial amount of information about Linux operating systems, text editors, algorithms, and motion planning as a whole. Using the Fedora Linux Operating System and VI text editor everyday has made me tons better with them than I was at the beginning of this program. In regards to algorithms and literature, my assigned readings this week gave me a better in-depth clarification of Configuration Space and Parallelizing Motion Planning algorithms. As for coding and computer work, I was made to standardize some general files and also standardize some Parallel code because that si what I will be studying this summer. With that being said, learning a different operating system, learning how to use this new terminal text editor, reading four papers, and doing my Standardizing coding assignments kept me very busy all week.

    Outside of work. My friends and I have been hanging out around the Traditions or playing basketball at the rec center in our free time. At the traditions, we have been watching the NBA playoffs pretty much anytime a game is one or playing pool. Also, there are enough of us that know each other that we can run our own games of five on five basketball at the rec so that is pretty fun. The NBA games on TV, basketball at the rec center, and watching Netflix/Amazon instant video are becoming staples of my College Station life outside of work.

    I went to two seminars/lectures this week. On Tuesday, there was a panel of minority graduate students who basically answered questions about grad school for us. This session gave me a better realization of how serious my decision of either going to grad school immediately after undergraduate school will be. This panel also exposed me to the fact that it can take upwards of 6 to 9 years sometimes for people to get PHD's. I had no idea about this. Naively, I assumed it was a standard 2 or 3 years like a Master's degree. On Thursday, I went to a brown-bag meeting with another panel of grad students. This panel was full of Computer Science and Engineering grad students. The biggest concepts I gathered from this panel was the fact that if you set it up right, you can get funding throughout grad schools. Fellowships, the department you are studying in, and regular scholarships are the biggest ways for you to gain money. Also, a lot of schools are willing to pay for you to get a P.H.D. That was an eye opener to hear that. I believe every panellists was having their education paid for and several of them used their money to pay off undergraduate loans or get cars.

    Next week, I plan on discussing and fully understanding the papers that Sam gave me to read on top of the papers I have to read regardless. Jory has given me my last assignment in regards to the crash course, so that is another task I will accomplish this week. Any other assignments or reading they fill will help me will probably fill up the rest of my "work" this week. I plan on attending the scholars lecture on Tuesday as one of my seminars this week. It seems to be nearing the point where I will finally be dedicating most of my time to only my research project and reading after I finish some of these assignments this week. I am enjoying this experience a lot!

Week 4: June 18-June 24, 2012

    This week I continued reading papers to further my background. I read some papers titled "Parallelizing RRT on Distributed-Memory Architectures", "A Scalable Method for Parallelizing Sampling-based Motion Planning Algorithms", "Path Planning in Expansive Configuration Spaces", and the "STAPL: Standard Template Adaptive Parallel Library". Also, I printed out the "BasicRRTStrategy.h" and "BasicRRTStrategy.cpp" files to try and get more familiar with the RRT algorithm in a coding form. Also, I have been reading the "Randomized Kinodynamic Planning" paper, but I have not finished. Besides reading, I was able to finish the initial standardizing of the "ParallelPMPL" folder, "ParallelPMPL/WorkFunctions" folder, and some files for Nicole.

    As for brown bags, on Tuesday I went to a lecture and the speaker talked about the importance of writing. She stressed writing often as a way to get large projects done quicker. By writing about a topic a lot, it causes your mind to subliminally retain information about it at night when you sleep. Also, you will have a wealth of information there for you to access when you need a formal paper to write. Another aspect of writing she stressed was to use it as a way of studying. Her theory was that a lot of people do statistically better than others in classes by typing out what they think when they study. Her speech inspired me and I hope to incorporate some of her techniques into my life.

    Outside of work, I have been teaching my self the Perl language on the side. I have been interested in learning it for awhile so I am currently reading the "Learning Perl" book. Learning this and going to the rec center has pretty much occupied my extra time during when I am not reading. I have had a little more time since the NBA playoffs have just finished. This upcoming week I have to present a paper on Thursday. Sam has told me to present the "Parallelizing RRT on Distributed-Memory Architectures" paper. I will be trying to make sure I can give a good presentation and continue my reading as I finally am moving to the point of being able to work on my research project.

Week 5: June 25-July 1, 2012

    This week was really trying to parallelize reaing papers, working on my presentation, and picking my jaw up to the fact that I finally got a Macbook Pro. I was able to purchase one and it was love at first type. Sorry for the horrible joke, but I am really excited to finally have gotten one. Back to the subject. This week a lot of my focus was dedicated to a presentation I had to make on Thursday. It was over a paper that implemented my research algorithm in three different ways. I think it actually went really well in the fact that I didn't trip over myself and I was not flooded with questions. Some of the more experienced students get barraged with questions and critiques, but the audience let me make it through my presentation with only a couple questions. I can wait on my next presentation of another person's work, though. You need to be extremely knowledgeable to truly follow everything some of these papers present.

    I plan on helping Sam with a parallel computing experiment next week. Basically, he has some pre-made scripts I need to run. Then put the data together and make some graphs from this data. This should be a good start to my parallel programming experience. Also, I am finally reaching the point where I will transition to more programming and slightly less reading. It is time to buckle down and try and knock this code out.

Week 6: July 2-July 8, 2012

    At the beginning of this week, I was able to help Sam by making the graphs for his ProteinG experiment. Originally, his experiments resulted in one graph. I was able to add two additional plots and give him 6 graphs to look at. That is three plots for 1, 2, 4, and 8 processors, and three plots for 16, 32, 64, and 128 processors. This has given me good information in regards to the Perl scripts you need to run a project, how to name your files, and how to set up a GNU plot to show your data. Sam has given two other experiments to run for more results and data. The setup is the same so it should help me polish my experimenting skills a little bit more next week.

    Other than Sam's experiments, I spent a couple of days this week not getting much done coding wise because we needed to get my terminal to work right. Eventually, this was solved and I was at the point where I could start coding my algorithm. Now I am finally coding my algorithm and doing the construction phase of the code I will need to run experiments for my research paper. For next week, I plan on trying to finish a new twist of one of the Distributed RRT methods i am supposed to code. If I can finish that, I want to test it and get started on my version of the Distributed RRT. While doing that, I will help Sam with his experiment and finish my last reading groups. Besides working on research or doing online tutorials, I didn't really do anything extra this week. I didn't go to the gym or play kickball. Hopefully, this changes next week.

Week 7: July 9-July 15, 2012

    I started off this week trying to run an experiment by my graduate advisor on a cluster. I couldn't get it to properly run because of some of the code I don't normally deal with, so I go t a pass on trying to make it work. The next day I tried to get a good start on my project, but some type of updating caused my terminal to not have the correct version of gcc(a c++ compiler) and the Boost library again, so I had to spend a good chunk of that day getting my terminal set up. The next day, my terminal was finally working, but the server decided to crash all day. I wasn't able to even access my work until around 10 p.m. So around Thursday, everything I needed to have set up was fully functional. I spent that day going to a brownbag, reading for my last reading group, and coding. I was able to talk with my graduate advisor and get a push in the right direction for the coding of my project.

    Brownbagwise, on Tuesday I went to one where we did an activity. It was different than the other lectures, but I would rather have gotten pure information than to play a game about "leadership". On Thursday, Jory, Sam, and other graduate students talked to us about making posters and presenting them. They were very knowledgeable and I am glad they had this brownbag lecture. Hopefully, my poster will be presentable like some of the ones I saw.

    Other than research, my co-worker and I's kickball game was cancelled again. I got to play basketball a couple times and that is always good. Also, I ended up not going to California for my family reunion because of money and pretty bad timing. They said they had a good time so I am happy for them.

    This week I want to fully finish my first Distributed RRT algorithm and start testing it. I also would like to do this paperwork for early admission to Texas A&M. It is pretty much all about the project now that the reading groups are complete.

Week 8: July 16-July 22, 2012

    This week started off with my faculty advisor, Dr. Amato, and I talking about graduate school. That conversation left me thinking about what I would like to do in regards to computer science and how graduate school would benefit me. Also, around that time, I was finishing up the initial version of my DistributedRRT algorithm. A day or two after my talk with Dr. Amato, I was able to get my code to fully compile. The next couple of days was spent with me mostly trying to experiment with my algorithm on the computer I have been using out here this summer. This ended up being a lot of individual tests to run. So that fact, along with us making changes to the tests we were running caused this to take several days. I was able to finally finish the tests my graduate advisor, Sam, wanted me to finish and make graphs from them.

    Brownbagwise, my last "Distinguished Scholars" brownbag was on Tuesday. The speaker talked about giving presentations and focused on articulation and how to keep an audiences attention. It was really interesting and she was a great speaker. I am trying to force myself to apply the things I have learned at these brownbags to further my "career" and personal skills. My other brownbag this week was a faculty member giving a presentation of their work. It was impressive to see how much she knew, and it just showed me how much the faculty here truly know in regards to their field.

    This week I am trying to get as much done as I can in regards to experiments, my poster, and my paper. It is crunch time now and I deadlines are fast approaching.

Week 9: July 23-July 29, 2012

This week was full of experimentation and getting my poster together. My first tests were composed of a cube shaped robot using a environment given to me by my graduate advisor. I was able to fully tests this with n=2048 total nodes being made. To expand my testing, I tested a 16 dof articulated linkage robot and a 32 degree of freedom articulated linkage robot at n=4096 nodes. One of the goals last week was to try and test these two higher degree of freedom robots at the values of n=8192 and n=16384 total nodes. I couldn't get fully complete results for 4096 for these values. I am interested to see how these tests would work out with a parallel neighborhood finder. Also, this week I tried to start my research paper. I tried to set it up with a two-column format with my abstract and then each section header being completed first. It doesn't compile to pdf so I have to fix whatever errors my formatting is throwing, and then I am ready to get the meat of the paper done.

This upcoming week is my last week. It is pretty much going to be a week of refining my poster and research paper. I have to present my poster at two poster events. This should be some good experiences.

Week 10: July 30-August 5, 2012

    This was my last week. It has been a long but fulfilling summer. I stared the week off by printing my poster on Monday. I got my poster presentation reviewed and was able to test my skills on Tuesday. The research program had a practice presentation for everyone that day. It wasn't as strict as what happened on Friday, but it was a good way to practice your oral presentation of your poster. Also, I got a chance to see everybody elses research. There is such a wide variety of research topics this summer. From Computer Science Chemisty, Aerospace engineering to Veterinary type fields, everything was represented.

    As for the rest of the week, I worked really hard on my paper. I think it came out very well for being my first attempt at a science research paper. Creating the poster, orally presenting that poster, and writing my paper has been a great introduction to the research process. Hopefully, I can transfer this experience to future research I will do at my home school the University of North Texas and potentially graduate school in the future. On Friday, I presented my poster at the official judging contest. I felt I did well, every judge said I explained my poster well and gauging their questions and feedback I think they truly did.

Other than work, I played two back-to-back kickball games this week. It was really fun and I got on base 2 or 3 times. During one of my kicks, one of my teammates said, "Don't think about it." in regards to me kicking. I thought to myself "might as well try it, Nick." and ended up getting several kicks that game without getting out. This summer has been a great experience and even though 10 weeks can seem like forever, it goes by in a blur. I am very thankful for the DREU program, Dr. Amato, and everyone else who helped set this up for me.