[3/1] – Microsoft Opportunities & Interview Tips Workshop

The topic of this week’s meeting was a two part career development extravaganza! After hearing from Google and Lockheed Martin in the weeks prior, we were joined by former (and future) Microsoft Intern Emiko Charbonneau to hear about some of the great experiences to be had at Microsoft.

After discussing the types of areas that are available at Microsoft, Miko went in-depth on the composition of a typical software development team and gave attendees a great look at the type of work they could be doing as a Microsoft Software Development Engineer (SDE), Software Development Engineer in Test (SDET), and Program Manager (PM).

After covering the opportunities at Microsoft, and hearing about Miko’s first hand experience working in Redmond, we switched gears to discuss tips and tricks on how to nail a technical interview.

Leading the presentation was Shane Chism who, as recently as last November, went through the full interview process with Microsoft. Shane discussed the various things to expect out of a full interview experience with a technical company; from the resume screen all the way to final round interviews.

Shane provided some invaluable resources that any student interested in getting an internship or full time job with a big tech company should check out.

To see the presentation from this evening’s events, and to get the rundown on how to succeed in a technical interview of your own, please click here.

Posted in General | Leave a comment

[2/16] – Lockheed Martin Work Experience Program

This past Thursday, ACM members gathered in COMM 102 to hear from Lockheed Martin about Missiles and Fire Control located here in Orlando. But delving deeper into what exactly Missiles and Fire Control means, Jeff Lopert (President) discussed some old and new announcements from ACM. The slides can be found at this address.

Lockheed Martin Work Experience Program

Missiles and Fire Control deals with all of the technology and innovation necessary to find a target. The steps taken typically include: (1) detect, (2) identify, and (3) prioritize. However, on a global scale Lockheed Martin strives for “global protection” with a variety of different fields. To introduce us to the technologies developed at Lockheed Martin, an overview video of their technology was presented that gave some background on the corporation’s efforts.

Then the conversation switched gears to the software development that is done throughout the Lockheed Martin locations. There are four groups: software engineers, electrical engineers, mechanical engineers, and systems engineers. As for the positions available, there are summer internship positions, a co-op program in which you take do full semesters of school and alternate between that and working at Lockheed Martin), and the College Work Experience Program.

The College Work Experience Program allows students to maintain a part time job at Lockheed Martin and continue to go to school at the same time. In the program, you will be put on a team of 5-20 people and on average write anywhere from 20,000 to .75 million lines of code. Development is mostly done in C or C++ with some Ada.

The key to being accepted is to be determined and it doesn’t hurt to submit more than once to Lockheed (or any other company). For more information, check out this Lockheed Martin Work Experience Program link.

Posted in General | Leave a comment

[2/2] – Office of Undergraduate Research

This past Thursday, ACM members gathered in COMM 102 to hear from the Office of Undergraduate Research (OUR)’s Student Undergraduate Research Council (SURC) about opportunities to get involved on campus with research. But before OUR presented, Jeff Lopert (President) discussed some old and new announcements from ACM:

  • Membership dues are $5 per semester now!
  • T-shirts are selling like hot cakes! $10 Only!
  • SWE Formal
  • Online Peer Mentoring Program
  • Florida Science Olympiad
  • More details in the presentation slides linked below!

“Getting Started In Undergraduate Research”

Expanding Your Academic Experience Through Undergraduate Research

While discussing the tools that students may use to obtain research opportunities on campus, representatives from the Office of Undergraduate Research (OUR)’s Student Undergraduate Research Council (SURC) covered a series of questions about the programs they offer: “Who?” “Why?” and “What?”

WHO?

Almost anyone and everyone can participate in undergraduate research. It does not matter what your major is or what your passions are, they have research opportunities available or at least the resources to help you find a campus that can assist you.

WHY?

Aside from the general answer of “producing your own original, unique conclusions,” research can produce you with new skills and confidence that are hard to come by from the everyday classroom experience. They allow you to test out your career choice and see if you are truly passionate about your field or if you should maybe reconsider while it is not too late. Some more benefits include the potential for fantastic letters of recommendation, a unique experience to describe in an interview that will really help you stand out, and to help expand your resume and catch a potential employers eye quickly.

If you are not positive about how much commitment you would like to set aside from research, consider the variety of programs that OUR suggests: one could volunteer time if joining mid-semester for a gentle start into a lab of your interests (although not a viable option in all labs), programs are also available for credit depending on your major and interests, and some may be even paid (but these can be hard to come by).

To get started, there’s a great opportunity to get your feet wet and a feel for doing research: the Summer Research Academy. This program allows sophomores and juniors to explore in only a few short days a variety of faculty from their department and discuss how to get involved in research at a more personal level. Apply soon!

There are also longer versions of OUR’s “Getting Started” workshops that one can sign up for to get a more detailed look at what opportunities are available for undergraduates. You can even stop by Student Undergraduate Research Council (SURC) to ask questions. Included in that are Peer Mentor Office Hours in CC2 209 in which a peer can sit down with a student and help locate faculty and programs that meet their needs.

WHAT?

The first section of opportunities they covered were the general UCF Programs. There’s the Research and Mentoring Program (RAMP) that is a two year, Fall & Spring semester commitment for Juniors. There is also the McNair Scholars program for Ph.D-seeking Juniors that is also two years, but takes place over the Summer. The Honors College also offers (to not just Honors College students) Honors in the Major in which a student writes a thesis and graduates with “Honors in the Major” distinction. There are also Student-Mentor Academic Research Teams available to all students.

Specifically, OUR has their own opportunities for students. In April is the Showcase of Undergraduate Research that students can apply to or visit and network with potential faculty mentors for the following year. An interested student could also subscribe to the Undergraduate Research Journal to see what other students are doing throughout UCF. There are also grants and travel awards available to students who qualify.

Advice

Some advice from OUR and SURC is to be persistent, creative, proactive, and open-minded. Not all opportunities will come to you nor will they be necessarily your first-choice; it’s all about finding your niche.

To contact OUR you can follow the link below or visit their office in Computer Center, 209. Appointments and office hours are available.

LINKS

February 2, 2012 – Office of Undergraduate Research Meeting Slides

UCF’s Office of Undergraduate Research

Posted in General | Leave a comment

[1/26] – Design Challenge

Welcome to the Spring 2012 semester, ACM members! In response to recent recruiters visiting campus and career fairs popping up left and right, our club decided to discuss one interview topic rarely covered in most interview help sessions: answering the dreaded “design ___________” questions. Just under 40 recorded attendees learned about how these questions are asked and approached and then had the opportunity to try one out for themselves and hear how other students answered. Here’s a quick recap of the meeting and design activity:

Design Challenge

Before popping the design question to the attendees, Jeff Lopert (President) and Shane Chism (Vice President) had some housekeeping topics to cover including announcements (THIS JUST IN: hot, fashionable ACM tees are available for only $10! Order them before they’re all gone!).

Afterwards, Shane and Jeff demonstrated what exactly a design question entails by using an example: simply “design an elevator.” Shane took the role of the interviewer and Jeff of the interviewee. Jeff started by clarifying what kind of elevator this should be:

  • Where is the elevator located? (a high-traffic area)
  • What will be placed inside the elevator? Deliveries?
  • Is there a set weight limit for the elevator?
  • What size elevator is necessary?

After covering a few more questions, the problem soon unfolded from the generic question of “design an elevator” to “design an elevator for human beings, in a high-traffic area, for office professionals.” After asking enough preliminary questions, Jeff then noted that this is when you start drawing or listing features that will be included in the elevator. It’s important to first understand who the target audience is then design for that audience. Always explain why you show a particular feature or approach. This will give you the opportunity to justify yourself, use your technical background to impress the interviewer, and to help guide yourself through your thought process. Ultimately, the interviewer wants to see your creativity and your understanding of the audience while touching almost every facet there is to consider (e.g., safety, usability, or elements outside the scope of the elevator or object itself).

After answering a few more questions, Shane and Jeff switched roles and did another example that was more software oriented. The question was “design a file upload site.” Immediately Shane started asking questions such as, “Who is this for?” (college students), “What kinds of files?” (all files), “Do you have to be a college student to use the site?” (yes), “Is this for collaborative work?” (yes). Rather than list features as Jeff did, Shane started to wire-frame his design. Wire-framing means to draw a rough sketch of what your design looks like. Typically in an interview, you will be given paper or a whiteboard to do your thinking and sketching on.

Shane thus drew out a system that would include an introductory page for validating the student’s school e-mail address, perhaps incorporating a theme for that particular school such as using the school colors and having news related to the school along the bottom of the screen. At the actual screen for the file upload, he started to talk about file type and the inherent security issues that come along with allowing any and all types. His solution is a simple scanner for viruses and a warning if there’s a potential for infection.

He then started talking about HTML5 and Ajax to build the site itself and perhaps a function to detect the operating system used by the user that will let the file browser reflect the native system of the user. And of course the upload screen itself will have the address bar for the file big and in the center as that is the purpose of the site.

After the second example about how the design questions work (interviewer gives you a general goal and your job is to understand who you are really designing for by asking many questions and justifying each choice you make) then we asked the attendees to split into groups, and with an officer assigned to each group as the interviewer, discuss another object to design and get use to the process of asking questions and thinking creatively.

The example was a parking garage. Meaning, the only question the officers asked of the groups was “design a parking garage.” It was up to the attendees to ask questions of the officers and to understand who exactly was going to use the garage, where it was going to be located, what facets to consider such as crime rate or safety. After deliberating, each group stood up at the front of the room and explained their final designs much as they would have to do in the actual interviewing process. Many groups went over the time limit explaining features such as sensors to detect if a particular level of the garage is full and directing a driver forward, to mobile applications that find a free spot, to helipads on the roof for hot-shot corporate executives. Each attendee had the chance to see how the process works and were able to actively participate in a mock interview design challenge.

Below are links to the presentation documents in full-detail for those who were not able to make it. For those who came, thank you for your ideas and support. We’ll be seeing you next week; stay tuned!

LINKS TO PRESENTATION DOCUMENTS

January 26, 2012 – Design Challenge

January 26, 2012 – Design Challenge Solution Doc

Posted in General | Leave a comment

[11/17] – Dr. Gary Leavens “How Do We Know It’s Right?”

For our last meeting during the Fall 2011 semester, ACM invited Dr. Gary Leavens to deliver an insightful lecture about testing for a program’s correctness.

How Do We Know It’s Right?

Dr. Leavens opened the talk with two questions: “Should business care?” and “Should society care?” The answers varied from person to person, but it is clear that not everyone cares the same about the correctness of a program (especially if someone is creating it just for profit!) He also mentioned that it’s important to note that computer programs are everywhere (pacemakers to cars) and their performance and correctness must be maintained for both accuracy and for safety reasons.

Some other questions he proposed were: “What does correctness mean?” Take the correctness of PowerPoint over the correctness of the same pacemaker mentioned before – correctness has many applications and thus becomes a challenge to define and comprehend. Even so, at the most basic level correctness is defined as two parts: specification (description of behavior) and validation (comparison to specification). You create a list of desired behaviors for the system and then test after development for correctness.

The question then becomes, how do you specify? You can do it in a variety of ways depending on situations such as “BATCH” which studies the relation between inputs and outputs, “INTERACTIVE” which is based on a state machine with inputs and outputs, or “REAL-TIME” which is a set of tasks. Each of these model a set of behaviors that have testable criteria. Then one wonders, what do you specify? After noting how you then decide to specify either the entire program or the components of the program (i.e., classes or methods).

Dr. Leavens proposed more questions for the attendees: “Are Tests Adequate?” “Is It Enough?” “Is This Code Correct?” He then displayed a method which contained the set up: “if input happens to be 2, then return 3″ which is correct but does no calculations (answers hard-coded internally). This is not a real solution!

To effectively test for correctness, one could use relational specifications (domain and relation) to describe inputs and outputs (the classic “BATCH”). The Hoare logic approach to relational specification would be to use domain as the standard “precondition” that many of us are use to. The “preconditions” specify what are true of legal states; what correct input would contain. The “postconditions” describe what is true of the input/output relations – as it describes what the output will be based on input.

Correctness is then defined (in a behavioral sense) in that “all calls that satisfy precondition’s result and final state must satisfy postconditions” which is a fancy way of saying that expected output must match actual output for a valid set of inputs.

Next we looked into validation which has two parts: testing (check correctness for some inputs) and verification (prove code is correct for all input). Testing has its advantages of real errors, being economical for students who are first learning to program, and can improve confidence. However the disadvantages include its inability to prove a program is correct for all inputs. Verification can prove all inputs and can do so before the program is ever run, but can be expensive and may need new theories or tools for new kinds of software to be able to determine correctness effectively.

After some more discussion, Dr. Leavens noted that precise verification is impossible – therefore one must be conservative. This means that when there is doubt in the answer, be conservative about it and say false!

In summary, Dr. Leaven’s talk fell back to the basics of specifications and verification. Specifications are needed for validation, and verification is possible but conservatively-sound verification tools will be incomplete.

Posted in General | Leave a comment

[10/20] – Florida Interactive Entertainment Academy

At 7:30PM on Thursday, ACM invited Todd Deery and Paul Varcholik to the UCF campus to speak about what Florida Interactive Entertainment Academy is all about, and what to expect from their graduate program.

Announcements

  • T-Shirts – Still available! $10! Limited supply!

Florida Interactive Entertainment Academy

According to the Princeton Review, Florida Interactive Entertainment Academy (FIEA) has been rated the second-best video game academy in the nation – located right here in Orlando! Inside UCF’s Center for Emerging Media, FIEA has been host to a wide variety of disciplines related to the video game industry. Faculty come from across the industry to give students an educational experience that will have them creating their own games in the very first week.

Their graduate program is project-based, pushing you into working on teams of students whose goal is to build your thesis, your own game. The degree you receive is the “Master’s of Science in Interactive Entertainment,” and in-state tuition is $33,000 total across the program. Full financial aid is available.

Inside the program there are three major tracks that students typically can follow: programmers, artists, and producers. Producers are the face of the game, the ones who sell the game idea to the big shots and the ones who deal with all of the management, design and planning. Programmers and artists work on the technical side of the production by writing the code for the game and illustrating the idea (or sometimes doing both)!

The program is fast, rigorous and requires that you be dedicated the entire time you are a student at FIEA to creating the best game possible and keeping up with deadlines and assignments. But as our two speakers pointed out, it’s well worth it in the end to enter into an industry you’ll love immediately after leaving school.

Some Dates to Keep in Mind (FIEA)

  • Portfolio Review Date – December 2nd, 2011
  • Online Open House – November 15th, 2011

Next Week

Thursday, October 27th at 7:30-8:30
General Meeting

Posted in General | Leave a comment

[10/13] Programming Skills Challenge!

On Thursday at the usual 7:30 time in HEC 117, ACM held a general meeting with a few quick announcements and a specialized programming skills challenge for all skill levels.

Announcements

  • Microsoft Recruiter – Tuesday 10/18 at 6PM, HEC 118
    RSVP with Arup (dmarino@cs.ucf.edu)
    Resume required for entry
  • IT Feedback Session – Thursday 10/20 11:30-1:30, HEC 101
  • CS Feedback Session – Friday 10/21 11:30-1:30, HEC 101
  • T-Shirts – Still available! $10!

Programming Skills Challenge

After some brief announcements, the members funneled up to the CAVE to do some practice programming problems available for the night on Shane Chism’s website. Prizes were awarded for the most problems completed (accuracy counted of course!) such as a Microsoft water bottle.

Next Week

Thursday, October 20th at 7:30-8:30 in HEC 117
Todd Deery from the Florida Interactive Entertainment Academy (FIEA)!

Posted in General | Leave a comment

[10/6] What Is An API?

At 7:30 in HEC 117 on Thursday, ACM held an informative meeting about what exactly APIs are and how to use them. After last weeks’ talks with Google (including some sneak peeks at Google+), we looked specifically this week at how to build with Google+ and Facebook’s APIs.

APIs and You!

– Shane Chism (Vice President)

Before heading up to HEC’s Cave for some hands-on learning, Shane gave a wonderfully well-thought out presentation about API basics. APIs (Application Programming Interfaces) serve as a go-between for software programs and allows them to interact with each other. This is based off of the idea of “I want your data, but you don’t trust me.”

We proceeded to go over the basics of API syntax and then headed up to the Cave to work on a personally tailored tutorial by Shane Chism that walks you through the creation of a program that will ‘scrape’ information from Facebook and Google+ (if privacy settings allow it!)

Follow the tutorial here to find out more.

Next Week

Thursday, October 6th at 7:30-8:30 in HEC 117
A Visit from Dr. Leavens!

Posted in General | Leave a comment

[9/29] Google!@UCF

In HEC 101 at 7:30, ACM held a presentation by Jason Gauci, Greg Tener (Google Engineers), and Kat Leung (Google Recruiter) about what it takes during the application process to stand out to the Google team. The room was packed with eager students itching to find out more.

ACM News

Before beginning the Google Presentation, Shane Chism (our ACM Vice President) informed all attendees of some important dates to keep in mind:

  • UPE is offering a 1,000 “cash” money scholarship for Computer Science students. Applications are due October 14th; you can find more information here).
  • October 5th from 10AM to 3PM is the Fall Career Expo at the UCF Arena. Attendees will be able to meet with potential employers and show off their talents. Don’t forget to dress professionally!

Google!@UCF

Following the ACM announcements, Jason covered many key points about a great resume. Some general tips include: having your resume ready in digital format (such as a .PDF file), listing any major projects you have been involved in, languages that you know (in the order of proficiency), personal and open source projects. Also don’t forget to list any honors, papers, conference presentations, placement in computer science competitions, or achievements outside the areas covered by computer science.

After reviewing what makes a resume stand out, Jason handed it over to Greg to speak about what to expect and how to prepare for the interviewing process. The best way to prepare is to develop a strong computer science foundation and to learn languages such as C, C++, Java, Python, or Go. Also try to gain experience outside of the classroom such as joining computer science clubs, participating in programming competitions, internships, and open source projects. These will allow you to embellish on your technical skills outside of your academics.

During the interview, expect to provide a short introduction about yourself. Next you will be given a technical assessment and the chance to ask your own questions. You will be asked questions that test your analytical skills, your sense of sound design, and proficiency in algorithms. One of the most important things you can expect and prepare for is to stand up in front of a white board and to write code on the spot.

When they ask you to write code, they rarely prefer pseudocode so practice writing fully, written-out code on paper or on your own whiteboard. Some more tips they gave is to practice ahead of time through websites such as Top Coder and during the interview to think out the process. This allows the interviewers to better help you out as you write and to provide tips. Don’t be afraid to ask questions such as “Can I use this?” and do not expect to write perfect code! How you got to your answer is more important.

Aside from writing code on the board, PhDs can expect an additional interview to speak about their thesis and more standard algorithmic, design, and coding topics.

Wrap-Up

At the very end of the presentation, the Google team gave a sample interview question to those in attendance: “reverse the words in a sentence.” The challenge is to write a function that takes a string and reverses the order of its words without reversing the order of the letters. They then allowed attendees to come up to the whiteboards and try to answer the question and get feedback on their efforts. Attendees went to the board, spoke to the Google representatives, and received Google gear at the very end.

Next Week

Thursday, October 6th at 7:30-8:30 in HEC 117

General weekly meeting (+Possibly $1 Bowling at Oviedo Lanes)

Posted in General | Leave a comment

[9/22] Google+ ACM/IEEE Event

At 7:30 in HEC 117, ACM and IEEE held a joint event for Google+. After some brief announcements from ACM, Derek Werdenberg gave around 100 members in attendance an in-depth look into the Google+ Project and his experiences within Google.

Google+

During his presentation, Derek covered many of the core features of Google+. Google+ (Google Plus) built its social network around the idea of “circles.” Circles are comparable to Facebook’s lists, but instead sort friends into intuitive groups. This idea allows a user to selectively share information in a new and easy-to-use way. Circles can be named, and people can belong to different circles – much how we organize friends and acquaintances conceptually.

Moving on to features, Derek demoed one of his favorite features: hangouts. Hangouts are face-to-face chatrooms that support up to ten of your friends. During the meeting, he set up a hangout with one of his close friends and previewed how easy it is to just hangout.

Another push for Google Plus is in games. The games on Google+ allow you to challenge friends, brag about your recent high score, and just be social. Easing into the main event of the night, Derek mentioned the mobile side to Google+ that allows super fast group messaging and instant uploads.

At the end of the presentation, we held an “amazing race” by conducting a scavenger hunt around campus utilizing Google Plus’ mobile app. The prize for an attendee’s participation was Google swag.

To find out more about this event, head on over to Diana Galvin’s article about the event on the Orlando Sentinel’s website.

Next Week

Thursday, September 29th at 7:30-8:30 in HEC 117

Visit from a Google Recruiter and Google Engineers

Posted in General | Leave a comment