
Gain essential tips and insights for new computer science students before you start programming and throughout your degree to set you up for success.
Commit to monthly content updates and improvements, invite feedback, and help students succeed in their computer science degree by returning to the course for new material.
Attend the open house to meet your teachers and final-year students, ask how to best prepare for the program, and stay connected for tutoring and advice.
Familiarize yourself with IDE interfaces before the semester to overcome the learning curve and save time; build a project and follow recent tutorials on channels like Freecodecamp to learn features.
Learn to google more efficiently for computer science research. Use filters to target the Freecodecamp.org website and find textbooks in pdf format, accessing them directly.
Learn how to get free, cheap, and used textbooks by using university facebook groups and book exchanges to buy and sell books at far lower prices, often in good condition.
Download Adobe Acrobat Reader and use it to highlight text and add comments on slides, saving you time and keeping notes accessible.
Learn to use Discord to find relevant learning communities, search for TypeScript servers, and ask coding questions. Join official and popular servers to connect with fellow learners.
Practice with hands-on projects to learn programming, build a portfolio, and master tools like Git and GitHub, while exploring full-stack concepts with Java Spring Boot and React.
Explore free Java learning through an interactive book on Runestone Academy, with downloadable IDEs, runnable code, quizzes, and YouTube tutorials by Joshua Denzel to reinforce exercises.
Differentiate the course description from the course outline to know what the class will cover, and consult senior students for a detailed outline with materials, office hours, tests, and schedule.
Color-code each course in your calendar, add office hours, and create quiz events with study slides and notifications to stay organized.
Prepare for quizzes and finals by using AI tools like ChatGPT, with quiz-specific chats and prompt engineering, and study slides through roadmaps and recommended videos.
Organize course resources by creating a dedicated folder for each class, gathering all teacher materials, YouTube, Udemy, and other resources in one place to stay efficient and avoid losing items.
Discover tools like draw.io, mydraft.cc, and lucidchart to create UML diagrams, class diagrams, and wireframes, with tips for reusable diagrams and templates.
Develop by doing a bit more than required, using online exercises from W3 Resources for Java and extra tasks from cold wars.com, CSS Battle, Flexbox Froggy, and CSS Grid.
Find and join groups of classmates to learn together, using discord servers or program-specific forums, and engage in college clubs like gaming or robotics to build a supportive network.
choose tech-related jobs during studies to build computer science experience, and explore Fiverr.com, remote work sites, and campus it roles to showcase your skills to employers.
Explore roadmap.sh as a structured, updatable learning path for computer science, from internet basics to HTML, CSS, JavaScript, data structures, frameworks, and back-end tracks, plus Docker and Linux.
Choose the right laptop by matching program-specific specs, whether macOS with Xcode or Windows with Visual Studio, and ask your teacher for required 16 GB RAM and battery life.
Edit images for web development using Photopea, a free Photoshop-like tool. Drag and drop, remove elements with the brush, and save edits for websites or class projects.
learn to verify suspicious files from classmates by scanning with virustotal.com to determine safety before opening, using drag-and-drop to check pdfs, zips, or code exchanges.
Discover free top university computer science courses, including Harvard's CS50, available on YouTube and freeCodeCamp. Learn to think like a programmer, solve problems, and join a beginner-friendly, supportive Discord community.
Explore essential networking and security concepts, including subnets, public vs private IP addresses, DNS, VPNs, encryption, hashing, and MAC addresses, with practical tutorials and subnet calculators.
Learn IoT essentials through Arduino-based IoT one and Raspberry Pi-based IoT two, with Arduino Uno book exercises and IDE setup guidance. Follow Paul McWhorter's videos for step-by-step demonstrations.
Explore essential Linux commands and terminal basics, guided by Freecodecamp.org's 50 of the most popular Linux commands and Network Chuck tutorials to remember mkdir and cd.
How to Free Up Disk Space on Your System when Docker complains about "No Space Left on Device".
Master essential git commands to clone repositories, track changes, stage, and commit work. Use Champlain College naming conventions for branches to navigate projects and collaborate effectively with teammates.
In this lesson, you’ll learn how to bring a project from GitHub (or any remote repository) onto your own computer using the git clone <url> command.
We’ll walk through where to find the repository URL on GitHub, how to copy it, and how to run the command in your terminal.
In this lesson, you’ll learn how to manage branches in Git — a key part of collaborating on any project.
We’ll cover the difference between viewing existing branches with git branch and creating a new branch with git checkout -b branch_name.
You’ll see how switching to a new branch allows you to work on features or fixes without affecting the main codebase.
We’ll also go over branch naming conventions used in professional teams
In this lesson, you’ll learn how to create and switch to a new branch using the modern git switch -c new_branch command. This is a clearer and safer alternative to the older git checkout -b command, and it’s available in Git versions 2.23 and above.
We’ll also use the git --version command to check which version of Git you have installed, so you know whether git switch is available on your system. If you’re running Git 2.23 or later, you’ll be able to take advantage of this modern workflow.
By the end of this lesson, you’ll know how to check your Git version, and how to confidently create new branches using the git switch -c command.
In this lesson, you’ll learn how to switch between branches in Git, and how to push your local branch to the remote repository on GitHub. We’ll use the git push -u origin branch_name command for the first push, and break down what the -u flag and the origin keyword mean.
You’ll also see how to use git remote -v to verify your remotes and confirm that your local project is correctly connected to GitHub. By the end of this lesson, you’ll understand how to move between branches, push your changes to the remote repo, and set up tracking so future pushes and pulls are much simpler.
In this lesson, you’ll learn how to clean up branches you no longer need by deleting them locally with the git branch -d branch_name command.
In this lesson, you’ll learn how to remove a branch not just from your computer, but from the remote repository on GitHub as well. While git branch -d branch_name only deletes the local copy, the remote branch still exists until you explicitly remove it.
We’ll use the git push origin --delete branch_name command to delete a branch from GitHub, and explain how this syntax works.
In this lesson, you’ll learn the difference between staging and committing in Git, and how the git add command is used to prepare changes for your next commit. We’ll cover two common variations:
git add file_name → stage a specific file.
git add . → stage all new and modified files in the current directory.
In this lesson, you’ll learn how to save your staged changes into the Git history using the git commit -m "message"command. We’ll explain what a commit is — a snapshot of your project at a specific point in time — and why commit messages are so important for keeping your project history clear and organized.
In this lesson, you’ll learn how to send your local commits to the remote repository on GitHub using the git pushcommand. Once you’ve staged your changes and created a commit, git push uploads that commit so your teammates (and GitHub) can see it.
In this lesson, you’ll learn how to create a Pull Request (PR) on GitHub. We’ll start by explaining what a Pull Request really is: a formal way of asking your teammates to review your code before it’s merged into the main branch. It’s called a “pull request” because you are requesting that someone pull your branch into the main project.
We’ll then walk through the process of opening a PR in GitHub, filling out the PR template, and following the project’s naming conventions.
In this lesson, you’ll learn how to review a teammate’s Pull Request by checking out their branch locally. We’ll use the git switch branch_name command to move into your teammate’s branch and test their changes on your own machine.
Sometimes, the branch doesn’t exist locally yet. In that case, we’ll run git fetch --all to download all remote branches so you can access your teammate’s work. After fetching, you’ll be able to switch to their branch and run or review the code.
In this lesson, you’ll learn how to make sure you’re reviewing the most up-to-date version of your teammate’s branch. Sometimes when you switch to their branch locally, you’ll notice that it doesn’t include their latest commits yet. To fix this, we’ll use the git pull command to download the newest code from GitHub into your local copy of their branch.
Explore how teams use Jira to manage what to build, who builds it, and when, with agile methods like scrum and sprints, plus creating projects, epics, stories, and acceptance criteria.
In this lesson, you’ll learn how to set up a new Jira software development project using the Scrum framework. We’ll walk through project creation, explain the Scrum template, and show how to add teammates to the project with the right access roles so everyone can collaborate effectively.
In this lesson, you’ll learn how to create a new story in Jira using the industry-standard format: “As a [role], I want [goal], so that [benefit].” We’ll also add clear acceptance criteria so the story is testable and everyone on the team knows when it is considered “done.”
In this lesson, you’ll learn how to create a new story in Jira using the industry-standard format: “As a [role], I want [goal], so that [benefit].” We’ll also add clear acceptance criteria so the story is testable and everyone on the team knows when it is considered “done.”
In this lesson, you’ll learn how to change the issue type in Jira and choose between a Story, Task, or Bug. We’ll break down what each type means: Stories capture user-facing features, Tasks cover technical or background work, and Bugs represent problems that need fixing.
In this lesson, you’ll learn what an Epic is and how it serves as a container for related stories, tasks, and bugs.
In this lesson, you’ll learn what an Epic is and how it serves as a container for related stories, tasks, and bugs. We’ll create an Epic in Jira and assign each story to its appropriate Epic, keeping the project organized around larger goals and features.
In this lesson, you’ll learn how to assign stories, tasks, and bugs to specific team members in Jira. We’ll see how assignments help clarify ownership, ensure accountability, and make it clear who is responsible for each piece of work.
In this lesson, you’ll learn what a Sprint is in Agile project management and how it helps teams work in focused, time-boxed iterations. We’ll assign stories to it so the team has a clear plan of work for the sprint period.
In this lesson, you’ll learn how to set a clear sprint goal in Jira and what it represents — a focused objective that guides the team during the sprint. We’ll also define the sprint duration, explaining how sprint length impacts planning and delivery in Agile projects.
In this lesson, you’ll explore the Jira board and learn how to move tasks through different workflow stages — from To Do, to In Progress, to In Code Review, and finally to Done. This visual workflow makes it easy to track progress, spot bottlenecks, and keep the team aligned during the sprint.
In this lesson, you’ll learn how to estimate work in Jira using Story Points (relative effort/complexity) and Time Estimates (hours or days). We’ll add both types of estimates to stories and tasks, then go into the project settings to see how you can switch between Story Points or Time Estimates as the default method for your project.
Develop a solid Jira foundation and learn how professional software teams structure their work, collaborate, and track progress—essential tips for new computer science students.
Explore course resources as the instructor promises monthly updates, new resources, and websites to support your success in computer science.
Are you about to embark on a journey in computer science, or are you a current student looking for guidance and tips to excel in your studies? This course, "Essential Tips for New Computer Science Students," is designed specifically for new and aspiring computer science students who want to get ahead and make the most of their educational experience.
In this comprehensive course, you'll discover invaluable insights and practical advice that I wish I had known before starting my computer science studies. We'll cover essential software and textbooks, effective study strategies, and resource management techniques to help you thrive academically and professionally.
You'll learn how to navigate your course materials, organize your schedule with Google Calendar, and utilize the best software for taking notes. We'll explore the importance of choosing the right IDEs, understanding computer specs for your studies, and deciding between a MacBook or PC. Additionally, you'll gain tips on forming study groups, connecting with peers, and leveraging online resources like StackOverflow and YouTube tutorials.
Whether you're a high school graduate, a career changer, or an enthusiastic lifelong learner, this course will provide you with the tools and knowledge you need to succeed. From organizing bookmarks into folders for each course to starting your coding practice early, every lesson is crafted to ensure you start strong and stay ahead in your computer science program.
Join me in this course and gain the confidence and skills needed to excel in your computer science journey. Enroll now and take the first step towards academic success and a fulfilling career in technology.