The computer science co-op placed me with Company X. This was my second summer with the company. They allowed me to learn and explore areas with which I was not familiar or proficient. I worked on building databases and the company’s intranet. As the projects developed I gained a more profound appreciation for quality assurance measures.
The company I worked for genuinely cared about their interns’ experiences. My internship allowed for practical application of the foundation material I learned in class. Company X focused on my strengths while allowing me to learn new skills. They allowed me to learn as I progressed. My relationship with Company X was extremely positive and I hope it continues in the future. I would definitely recommend participating in the computer science co-op.
This summer I worked with Company Y. During the first few weeks I determined why a few of their applications were crashing in Windows XP, using the debugger in Visual Studio 6. Then I found some bugs in one of their tcl apps that were causing incompatibilities, which ended up involving DDE, an old messaging system in Windows.
For most of the summer, I worked on developing a new graphing application, which I think they decided to call SCORPIO. Unfortunately they didn't know the best way to design the application, but still expected me to follow their design. Their company had an old GL library for graphing bar graphs, line graphs, and polar plots which appeared to have been written in the early '90s, and they insisted that I use it despite the fact that it was outdated and poorly written and didn't have the functionality we needed. A programmer had "slapped together" an application to demonstrate the capabilities of the library, and they insisted that I use it as a basis for the new application. Before I even started, the project depended on over 20 of their other projects and libraries because of the way they like to use their own implementations of everything.
I later found out that they expected my application to "take live data from any arbitrary source of raw data" including SQL databases, be "pickable" which involves clicking on something in the graph and somehow seeing "more information" on what it is composed of, display 3D graphs, etc. The requirements for the app were cloudy throughout development, though the management didn't really understand this. I created new graph types, including "kiviat" with a bézier smoothed outline, used OpenGL's selection functionality to pick items on the graph, created live graphs that read from SQL tables, created a tcl app that ran instances of the graph in panes, but eventually had to leave several of their requests to other programmers when I left. I was invited to telecommute from France or work part time Spring semester.
I feel that I learned alot about debugging applications from this experience. Also, I believe that I know more about what type of designs are hard to debug and update. I also learned more about how to use and debug OpenGL. My personal decision not to use MS Windows has been reinforced by experiencing GUI and api programming in Windows. I had the experience of working on a large project tree with other programmers using CVS with dependancies that are constantly being updated. I will consider working part-time in the Spring, depending on how they describe what I'll be doing.
Summer 2003
The
project I worked on was GVP, Global Visualization Process, which is the
main effort of the CTL lab at the moment. GVP runs on a multiprocessing
machine, and currently uses a database of approximately 130GB of ground
imagery and terrain data; this is considered a small database, since
most of the world is in only 20km resolution, while certain parts are
covered with 3 inch resolution data. The program consists of two parts,
the object manager and the viewer. The object manager is developed
completely in-house, while the viewer depends on OpenGL Performer
(they're currently moving to Open SceneGraph). I worked closely with
both the object manager and viewer APIs to develop various applications
for GVP; for example, I had to find raw air traffic data from an FAA
radar station and wrote an interface to insert the data live into GVP.
I wrote an interface for controlling the view with a mouse. I updated
applications from previous versions of GVP, and debugged code that NASA
was trying to use to track the shuttle debris using GVP, as well as
several other projects. The development was all in C and C++, on SGI
and Linux machines. I had a good experience in general. It was a good
environment to work in. They were interested in teaching me, as well as
having me contribute to the lab. I got to use alot of skills that had
become rusty, including lots of trigonometry and geometry, as well as
all sorts of different programming techniques, learning how to work on
a large project with several contributors, etc. I believe I would work
there again.
My
main responsibility was to design and implement a bookmark manager to
run in the OpenACS community system. The eventual goal was to create a
system that would provide an accessible online location from which a
user could store and browse their bookmarks yet would also attempt to
help the user organize those bookmarks in way that was meaningful. My
system ended up being much less full featured, supporting only the
basic manipulation mechanisms such as add, edit, and delete. There are
many reasons for this. First of all, I let my take on too much. For
instance, I was interested in adding functionality that would import
and possibly even export bookmarks in the format used by Microsoft's
Internet Explorer. While such functionality would have been very likely
useful, but I should have given it lower priority and not allowed it to
distract me from the core, necessary functionality that should have
been my focus.Secondly, and perhaps more significant, was the scope of
the project itself. It accomplish my goal, I had to familiarize myself
with an entire software stack that I had previously only had limited
experience with. Much of this was quite insightful with respect to real
world software development. There's a world of difference, for example,
between a lab assignment and a functional product. Similarly, there�s
more to API calls than simply reading the synopsis and memorizing the
order of the parameters. Also, data modeling is almost an art unto
itself. Overall, I would say the experience was remarkably positive.
Although I did not accomplish as much as I would have liked, I did
accomplish quite a bit. I would gladly do this again, especially since
next time I will have gained some more skills that would have been
invaluable to have (such as when to use which algorithm and so forth).
I
learned a lot while working there. I had to learn new skills to
complete the tasks they desired. I felt that the introductory computer
classes gave me insight into how I should complete tasks but I had to
apply the use of newly acquired abilities. I worked in Macromedia's
FlashMX to create a demo of exisiting software. This required me to
manipulate images. I did this with Macromedia's Fireworks. I also
worked on creating some pages for an intranet that was being built. For
this I learned html and some basic scripting (jscript and vbscript).
Between projects I aided a coworker on a project in Access. I learned
some of the utility of the software. The on job experience I received
was exceptional. Given the oppertunity I would most definitely work for
RMC again. The only problem I had was that I always did not have enough
work to do. I took this position because I had never used computer
science outside of the classroom and wanted to confirm if this was what
I really wanted to do. As a result of the internship I found myself
wanting to learn much more about the field of computer science. There
are a multitude of aspects of programming that I found to be
interesting. As I sought to learn more I found that the web and my
library cards were my best friends. I enjoyed the internship, would do
it again, and recommend it to any other St. Mary's student.
My
main project this summer was building a virtual 3D model of the future
St. Mary's boathouse using Maya and the blueprints provided to me by
facilities. At the end of the summer, I was working in coordination
with Brian on using Macromedia Director to be able to provide an
online, interactive version of my project. I also did some web design
for Josh; most notably a redisign of the SMCM Virtual Tour webpage
which should be online shortly. At first this summer I was very
disillusioned with the CS COOP program since it seemed like I was
getting the run around from the company I was supposed to work for. I
was in contact with them for about 3 weeks before they finally decided
that they didnt have the money for me to work for them. As it turned
out, this was the best possible thing for me this summer as I got to
work on campus and get some great experience learning Maya. In fact, I
am now going to be continuing the work that I began this summer in my
SMP which I am doing this year.
I've
been working on the First Responders Automated Data Tool (FRAT)
project. FRAT is a system that allows field units such as police or
EMT's to access an encyclopedia like data set from a handheld, laptop
or desktop and also access various utilities, such as a bomb blast
proximity calculator and others. The encyclopedia part features a
network browser that allows the application to connect to desktops
running back at the station to get download additional libraries. My
part was writing the network utilities that found the other machines
running the FRAT system, connect to them to see what libraries were
available, and the ability to send and receive files and directories
between them. I thought this experience was incredibly good. I got to
see how things were down in a larger company, as well as how a large
software package is built from the ground up. I also learned a lot of
programming and software design tips and ideas, and new tools such as
.NET and C#/. My supervisor did a good job in giving me a good amount
of work, as well as working me through things I was doing for the first
time. It worked out well enough that I am going to keep the job through
the semester.
I
started May 19th and I will be working until December 31st and
possibly longer. I'm a member of two different working teams: The Help
Desk and the Network Team. Both of these two groups combine to form an
IT department and I am the only one who works in both teams besides the
program manager Patty. On the network side I monitor our intrusion
detection programs and our bandwidth along with the packet shaper. I
also work in our switch board 'closets' which is a main frame of the
network between the two buildings at exploration drive owned by AIS.
Users on base and in our building need communication and that link is
run in our building as well as a Virginia beach office and before the
purchase of Veridian we were linked with Veridian Corp. On the Help
desk team I responded to tickets sent in by customers for any computer
or network problems they may encounter. 5 people on the Helpdesk team
plus my self maintain approximately 700 computers. The help desk team
is a customer oriented team. Our fellow employees are our customers.
Also on the help desk team I prepare computers for new hires, join them
to the domain and set up each user's profile. I also am responsible for
updating all computers I work with, with all the patches, updates,
drivers, etc, for all the software and hardware on the computer. I've
have thoroughly enjoyed working at the building which was owned by 3 or
4 different official and temporary names during one summer. My
supervisors on each team keep me involved and always have something for
me to do. I've learned more than I thought I would about networking. To
answer the question as to whether I'd work there again; Well, I'm
staying there for twice as long as originally planned, and hopefully
longer than that. This has been a great experience for me so far I
truly feel like part of the teams I work with.
Summer 2002
I had a wonderfull
experience with my company this summer. I was the head developer
on my own software project. I learned alot about how to delep a
large project. Such as the importance of writing reusable
code. I would have to say that my summer experience was
invaluable to my development as a software engineer.
I
was warmly welcomed to the company by my immediate managers during the
interview process. On my first full day, I was introduced to the
department employees and my office mate. On the second day I was
invited to meet, along with 2 new full-time employees, the division
vice-president. He explained his vision for the division and
management's vision for the company. The IT department had me setup,
almost immediately, with phone service, a computer, a network account,
and an email account. During the summer there were two after
hours parties and two luncheons, all of which I was invited to
participate in. And, on my lastday I was taken out to a farewell lunch by my department.
My
internship was a valuable learning experience. I was able to see and
practice computer science in the real world while learning new skills
and tools. My internship allowed me to apply and refine the knowledge I
gained from my programming and software engineering courses. I was able
to see the team and business aspects of software engineering projects,
which I discovered are exceptionally interesting. The projects I was
given applied to a real product, and as such had to be completed in a
timely manner. My coworkers and boss were (and continue to be, now that
I work for the company part-time) friendly and professional yet quite
humorous and relaxed. This was a very valuable experience.
The
internship was rewarding. I learned a great deal about IIS and
other important aspects of the IT department. I also got to work
with some databases. The people were extremely helpful and kind,
and they asked me if I would like to return during the school
year. It was a great and useful experience, and I recommend it to
any computer science major.
My
experiences during my co-op were extremely rewarding. After my
advisor had a chance to test my abilities he immediately began
challenging and teaching me more about computer science than i had
originally expected. Learning to write COM objects and static as
well as network-based SQL databasing almost right off the bat. I
was also taught how to work with the hardware aspects of computer
science. Something i hadn't previously been in to. Despite
my lack of previous knowledge on many different aspects of the co-op
they were always helpful in teaching and explaining new things in a way
that made me understand them perfectly, as if i had always known them.
Summer 2001
It was good experience to get out into industry and learn from work
experience and not simply classroom instruction. I learned much more
practical aspects of CS as opposed to the theory that I was learning in
the classroom (not that theory isn't great but the practical aspects are
what get you jobs). I learned a lot about how CS applies in the real
world and what that type of work is like.
I have had an incredible experience during my internship. I
have gained much need experience programming tin the real world.
Also I have got to do cool stuff like, stay onboard the Carrier USS Stennis, where we performed flight testing for 10
days.
Well (the company)
struck me as the kind of company that joined the coop but really did not
need an intern. I ran around a lot and wasn't as productive as I would've
liked.
The Coop enabled me
to get a better understanding of how computer science works in a job
enviornment.
My experience was
pretty good.I learned a lot about
the way the industry works and also some more valuable skills than can be
learned in the classroom.
The co-op is defiantly the best program the comp. sci. department offers and, in many ways, is probably
more important than any one class you will take. You learn so much that
you can’t possible learn in class about working
with people and how to act in a work environment. Plus, since you
already have two years of experience behind you, employers are more
impressed, and you feel less intimidated by going into the work force.
At my internship I have been working on a GUI (Graphical User
Interface) to a simulation program referred to as JIMM. I have been
using both Tcl/Tk and C and C++ in the
development of this application. Overall, my experience has been
good, and I feel like I am being treated as part of the team with this
employer.
I learned a lot.
The environment was friendly and conducive to learning. Most of all our supervisor (name withheld) was an excellent
resource - he made extra effort to involve us in different learning
experiences (expos, tours, etc.)