Co-op Work Term 3 Report

Karanbir Boparai · 0989716 · kboparai@uoguelph.ca

Welcome to my website! My name is Karanbir Boparai and I am a 4th year Computer Science student at the University of Guelph. This website will shed light on my 4 month co-op work term at 'University of Guelph'. The website has different sections providing information about my employer and the job description while also outlining the goals I accomplished at the job further strengthening my skill set.


Logo

University of Guelph

The University of Guelph (U of G) is a comprehensive public research university in Guelph, Ontario, Canada. It was established in 1964 after the amalgamation of Ontario Agricultural College, the MacDonald Institute, and the Ontario Veterinary College, and has since grown to an institution of more than 32,000 students (including those at the Humber campus, off-campus degree enrolments, diploma enrolments and part-time students) and over 1,500 faculty (academic staff) as of fall 2015. It offers 94 undergraduate degrees, 48 graduate programs, and 6 associate degrees in many different disciplines.

I was employed by the Office of the Provost and worked with professors from the Computer Science Department to research and prepare materials, resources and assets to enable faculty to create meaningful learning experiences using technology.

INTERESTING FACTS:

  • In 2007, physicists at the UoG led by professor Iain Campbell provided the first scientific evidence for the presence of water on Mars.
  • The Yukon Gold potato was developed in the 1960’s by renowned world-class potato breeder, Gary Johnson, while at the UoG.
  • UoG is the largest employer in Guelph.

Job Description - Instructional and Technical Support Assistant

I was part of the F20 Research Team working under the supervison of professors in the computer science department. The main aim of my team was to research and prepare materials, resources and assets to enable faculty to create meaningful learning experiences using technology as the school transitions to an all-online semester because of Covid-19.

Job Duties:

  • Programming Project: Wrote a Java program that will be used by computer science professors to give feedback about whether Java code written by students for coursework complies with the specified coding rules.
    • Used the coding rules specified by professors to build a ‘Checkstyle’ configuration file.
    • Project built using a build automation tool ‘Gradle’ that uses the ‘Checkstyle’ config file to analyze the code written by students and then generates an xml file with all the errors.
    • Read the xml file into Java objects and then converted those into a desired JSON format which will be used by professors to give feedback to students.
  • Converted lecture PowerPoint presentations into markdown documents so they could be uploaded online conviniently.
  • Created self-study guides for students on various programming tools topics like gdb, gradle, valgrind etc.
  • Developed best practice documents and tip sheets to support educational stratergies.
  • Worked with course design teams to create storyboards including proofreading, editing, inserting images and references.
  • Worked with the technical team to put course material into an online format.

Goals

Completing my first programming project outside of coursework.

Successfully completed a solo Java programming project that is outlined in the job description. Learned how to write code in a professional setting and also had my first code review. Also got experience writing configuration files for checkstyle as well as parsing xml files to Java objects and then converting those to JSON.

Learning how to use a build automation tool for my programming project.

Learned about project build and automation tools like gradle and used it to build my programming project instead of manually compiling and packaging source code. Also learned the basic syntax of Groovy so that I could write gradle build files which I used to manage dependencies, plug-ins and creating fat JAR's.

Making resources to help students with transitioning to an online semester.

Converted lecture powerpoint presentations to a markdown format to help with the making of an interactive textbook for programming courses and also wrote self-study guides on various programming tools topics like gdb, gradle, valgrind etc. and also C and Java topics to help students catch up on the prerequisites for various CIS courses

Conclusion

This Co-op was my introduction to writing code outside of coursework so I had a great deal to learn and it has provided me with a solid foundation. I also found out how much work goes into making sure students have a positive learning experience and therefore has pushed me to take my remaining courses more seriously. I am happy that code wrote by me will be used to give feedback to other students and for the first time code wrote by me is actually being used.

I learned a great deal about programming with Java and object-oriented principles like Abstraction, Encapsulation, Inheriance and Polymorphism. I also gained experience working with project build and automation tools like gradle, working with 'Checkstyle' which is a static code analysis tool, XML files, JSON and fat JAR's. This co-op postion has made me more confident writing code and has prepared me for working in a professional software job.


Acknowledgments

  • Special thanks to: Laura Gatto and Kate McRoberts, my Co-op Coordinator's at the University of Guelph who gave me valuale feedback about how to acheive my learing goals and also answered the numerous work term related questions I had.


  • I would also like to thank my supervisors, Judi Mccuaig, Dan Gillis and Andrew Hamilton-Wright who gave me weekly one-on-one feedbacks about my work performance, helped me adapt to my first coding job and also were very accessible for any doubts I had.


  • Furthermore, I would like to thank my co-workers Jason Chow and Shawn Kaplan for their guidance and support whenever I encounterd a setback in my work.

Logo

The Co-operators

The Co-operators Group Limited, founded in 1945, is a Canadian insurance co-operative owned by 44 members including co-ops, credit union centrals and representative farm organizations. It is one of the leading Canadian-owned multi-line insurers, offering auto, home, life, farm, travel and business insurance as well as investments. The Co-operators Group Limited is a leading Canadian multi-line insurance and financial services co-operative with $41.7 billion in assets under management.

The company itself is not a computer science-oriented company, but in order to serve it's almost 10000 employees, the company has a vast IT team spread across 8 cities all over Canada including IT support, IT Analysts, Web Developers to programmers making company exclusive software

INTERESTING FACTS:

  • The company was started by farmers in Saskatchewan, in 1945
  • The company is currently title sponsor for the radio network of the Canadian Football League
  • The company insures more than 875,000 homes and more than 1.4 million vehicles

Job Description - IT Technical Analyst

I was part of the Technical Platform Support (TPS) team at the company Head Office situated in Guelph and consisiting of 22 members spread across 8 cities all across Canada. Apart from my job duties, I also completed a side project of creating a training presentation highlighting the job responsibilities and answering FAQ's to be shown to future new-hires in order to ensure a smooth orientation experience.

Responsibilities:

My work was based on a ticketing system called ServiceFirst and my team was the point of escalation for the IT Support Helpdesk team and received the tickets which required:

  • Administrator intervention
  • Further troubleshooting including diagnosis and root-cause analysis to resolve incidents
  • Issuing new hardware and assisiting with installation
  • General testing of software before deployment and installing software for end users
  • Data recovery from Hard Drives
  • Providing advice to end user on technical matters
  • Testing installation of repackaged software before it is deployed in the desktop environment
  • Creating and maintaining knowledge articles for new and existing known errors utilizing standard enterprise tools and processes
  • Creating and/or updating documentation for Technical Support staff when new hardware or software is introduced into the environment.
  • Updating and maintaining inventory databases for tracking hardware

Goals

Familarize myself with working in a professional IT environment

Learned how to work with the ServiceFirst ticketing system i.e. working with tickets and incidents. I feel quite comfortable working in a professional IT environment now. Got positive feedback from my co-workers and supervisor about the work performed and learned a lot about the work flow in an office and also how to manage time effectively to perform all the required duties. Made sure to resolve a high number of incidents while making sure that the quality of work was at par with the company standards and can say without a doubt that I am more technologically literate now and have gained a lot of exposure in the IT field with this co-op position.

Improving my written and oral communication skills in a professional setting

Improved my written communication skills by making sure that my work notes were as descriptive as possible by documenting all the steps taken to resolve an incident in a clear and concise manner, updating knowledge articles where necessary and making new ones as well when encountering a new issue. Got regular positive feedback from my co-workers and supervisor about the same. Received feedback from users as well about how I was able to effectively explain technical terms in layman terms. Made it a point to do regular follow-ups with users and keeping them in the loop if resolution was taking time.

Improving my troubleshooting and problem-solving skills

Tried to break down and analyze every incident in order to pinpoint what the exact issue is and apply the appropriate fix rather than trying to fix every similar problem with the same steps. Rather than trying to fix an issue right away, now I always try to understand what the root cause is so as to make sure that the issue does not repeat itself. I also learned a great deal about the Window Operating System, working with regedit, command prompt and the Microsoft Office Suite.

Conclusion

This Co-op was my introduction with a professional IT environment so I had a great deal to learn and it has provided me with a solid foundation. I gained experience with troubleshooting and working around with the registry for the Microsoft Suite, Citrix, OneDrive Desktop Client, Maas360, ServiceFirst, NetVCR, ISE, SCEP as well as SCCM actions. To add, I have also sharpened my troubleshooting, communication, critical thinking and problem solving skills. This job has made me realize how important IT support is for the smooth operation of a company. I thoroughly enjoyed my time at The Co-operators.

Academic Relation

This co-op work term has definitely enhanced my academic experience. Problem solving is the most key skill when it comes to the software courses I have at the University of Guelph and this job has taught me how to break down and analyze problems in order to pinpoint what the exact issue is i.e root-cause analysis and also to fix the issue at it's root so it does not repeat itself. Due to the varied nature of issues I had to work on, the job has conditioned me to look at each problem from a number of angles and also to think outside of the box. This job has also further strengthened my understanding of a computer's working by introducing me to the Microsoft System Center Configuration Manager and RegEdit.

Focus of the Report

The main focus of my work term was resolving incidents based on a ticketing system and the most important aspect of that was documentation. Throughout my academic courses, I have learned how important commenting is when writing code, and now I understood the real importance for that. Not only did I have to read the work notes that were entered before the issue was escalated to me but also carefully document every step I took in the troubleshooting process. Whenever a workaround or resolution for an issue was found, my responsibility was to create 'Knowledge Articles' that outlined the issue, the symptoms of the issue and the steps to be followed for it's resolution. These Knowldege Articles would be used by the IT Helpdesk so that the issue could be resolved in a timely manner without the need for escalation the next time it was encountered. I also had to create and/or update documentation for Technical Support staff when new hardware or software was introduced into the environment


Acknowledgments

  • Special thanks to: Laura Gatto and Kate McRoberts, my Co-op Coordinator's at the University of Guelph who gave me valuale feedback about how to acheive my learing goals and also answered the numerous work term related questions I had.


  • I would also like to thank the senior manager of my team, Adam Antolick and my supervisors, Rich Duimstra & Eric Gillis who gave me monthly one-on-one feedbacks about my work performance, helped me adapt to my first professional job and also were very accessible for any doubts I had.


  • Furthermore, I would like to thank my mentor Adam Neufeld and my co-workers Jesse Wilks, Jamie Soules, Justin Byblk & Michael Wilkins for their guidance and support whenever I encounterd a setback in my work.