IT Engineer hands close up shot installing fiber cable,

Few Tips for New Computer Science and Information Technology Students

In 2014, I wrote an article titled, Few Tips for New Geoscience Students. I wrote it while I was a student as the University of Calgary enrolled in the Bachelor of Science program in Geology. While I was successful as a Geology student, different life and local economic events have led me to change career pathway from Petroleum field, which Geology is part of, to Computer Science (CS) and Information Technology (IT) fields. I went back to school and graduated with a Diploma with Honors (4.0/4.0 GPA) in IT from Southern Alberta Institute of Technology in 2022. Reflecting back on the article I published in 2014, I thought it is time for me to publish an article on being a student in CS or IT.

Since I was about the age of 5, I have been very curious about how technology works. This is partly due to the fact that my parents used to work for the largest telecommunication company in Sri Lanka. I took apart cathode-ray tube (CRT) television sets, radios, landline telephone equipment and home appliances with my dad to fix or add features in the 1990s and into the early 2000s. It was much easier to repair circuits and add features such equipment back in the day. On top of that, my parents also enrolled me in a comprehensive Computer Science after school program for children, which gave me an advantage in life. Given that background, it is only natural for me to drawn to CS and IT fields. After the petroleum market crash in Alberta, I turned my hobby into a career. Enough about me… Here are some tips and tricks to succeed in CS and IT academics:

  • Read ahead prior to your classes and labs. This is not always possible as some classes may not have lecture or lab notes. In that situation, research the topics or subjects that will be covered. If that is not also possible, speak to your professor or instructor about obtaining an outline of the course.
  • Make sure to keep up with the latest trends in CS/IT fields. This will help you bridge the gap between academics and the real world.
  • Try to create your own problems or find known problems in the society. Then use your programming or computing skills to find a solution. When it is not possible to find a solution, come up with a project idea. For example, let’s say I don’t know how to cook Sri Lankan foods. I could solve this problem by searching YouTube. But what if I can write a simple code to made the search easier and automated? Something simple like that would force you to apply what you learned in class for a real-world problem.
  • Always pay attention to details in labs. Small things can add up to a failure later in a lab or in a project.
  • Always backup your code, your configuration files, lab notes, lab documents, etc. For example, during a lab exam the last thing you want is a loss of all your hard work for the past hour because you forgot to save the Cisco configuration on a switch and no it got rebooted causing your work to get lost. Make a habit of saving everything often.
  • Memorize important concepts. This is a controversial suggestion but if you at least memorize some of the concepts, you can later apply your knowledge to the concepts you have studied. People often argue that memorizing things is bad. This is simply not true as some student may understand the concepts right away while others may take time to understand it. At the end of the day, memorizing help the student regardless of the situation. For example, is it easier to explain the differences between IPv4 and IPv6 by memorizing key points? Yes, you need to understand the differences, but you also need to remember what they are so you can explain it during an evaluation.
  • Never ever let anyone copy your code or configurations. It is very easy to get into trouble as a student for plagiarism. Most will talk about why you should not copy things from the Internet. But the reverse is also true where someone else copy your work. As a result, both of you could get into trouble.
  • Never skip (miss) classes or labs or tutorials. These are there for a reason and even if some of them many be optional, it is always a good idea to just attended.
  • Have a journal or a lab book. Take notes on important concepts, commands, etc.
  • Practice writing code by hand on paper. Most universities will have exams where you will not be provided with an IDE/ISE or a computer to write your code.
  • If you are falling behind or may fall behind, please reach out to your instructor/TA. In most cases, they will help you out. If this is not ideal, try reaching out to your peers or the Students Unions or clubs.
  • Do your homework early. This way if you run into issues, you can reach out to your instructor early. Almost all instructors prefer early questions than last minute questions.
  • Don’t complicate things when you don’t have to. A simple five lines code that can generate the desired outcome is probably better than fifty lines of code just to make that outcome prettier. Unless the exam question or lab specially asked to demonstrate “prettiness”, just keep things simple.
  • If you think you received a poor grade than expected on a lab or an exam, speak to your instructor or TA. Maybe there is a grading error or maybe there was a mistake.
  • If you are in a position to buy hardware (used servers, Cisco switches, etc.), this maybe beneficial to your academic and future career success. Owning some hardware allow you to tinker at home prior to exams, job interviews, etc.

Here are few items that when asked my friends in the IT industry said on being a successful student:

Stay Organized:
Keep track of assignments, deadlines, and exams using a planner or digital tools.
Create a dedicated workspace to study and stay organized.

Understand the Basics:
Build a strong foundation in fundamental concepts, algorithms, and data structures.
Don’t rush through basic courses; understanding core principles will benefit you in advanced topics.

Practice Regularly:
Coding is a skill that improves with practice. Write code regularly to reinforce your programming skills.
Work on personal projects to apply what you’ve learned in a practical context.

Collaborate and Communicate:
Engage with your peers. Join study groups, participate in coding sessions, and collaborate on projects.
Effective communication is crucial in technology fields. Practice explaining your ideas clearly and concisely.

Explore Specializations:
Computer Science and IT are broad fields. Explore different specializations to find what interests you the most (e.g., software development, cybersecurity, data science, etc.).

Stay Updated:
Technology is constantly evolving. Stay informed about the latest developments in your field through blogs, forums, and industry news.
Follow influencers, companies, and organizations on social media to stay in the loop.

Build a Portfolio:
Showcase your projects, assignments, and any relevant work in a portfolio. It’s a great way to demonstrate your skills to potential employers.
Include your GitHub repository to highlight your coding projects.

Networking:
Attend industry events, seminars, and workshops to network with professionals and other students.
Create a LinkedIn profile and connect with professionals in your field.

Seek Help When Needed:
Don’t hesitate to ask for help when you’re stuck on a problem or concept. Professors, tutors, and online communities are valuable resources.
Take advantage of office hours and ask questions during lectures.

Stay Healthy:
Take breaks, get enough sleep, and maintain a healthy lifestyle. A balanced life contributes to better academic performance.

Work on Soft Skills:
Develop communication, teamwork, and problem-solving skills. These are just as important as technical skills in the workplace.

Internships and Real-world Experience:
Look for internships and co-op opportunities to gain practical experience.
Real-world projects provide insights into how technology is used in professional settings.

Here is something that visualize career pathways: https://niccs.cisa.gov/workforce-development/cyber-career-pathways-tool

Hope all these articles help you in some way. Good luck on your academics!