Set Goals You Can Achieve

Estimated Time: 1 hour


Goal Setting

To get started with the learning process, you have to set learning goals or desired outcomes for yourself so that you know wear your learning journey is trying to take you, and have a clear pciture of what success looks like. We have talked a little bit about goal setting before in this course (in section 1.5 Self-Directed Learning), but in this section we will look at how to set goals using the S.M.A.R.T framework so that they can be as useful as possible.

Here are some typical goals that a computer science student might set. For each goal, you will see a non-SMART version and a SMART version.

Version 1: Non-SMART GoalVersion 2: SMART Goal
Improve programming skills.Develop proficiency in Python programming language by completing an online course and building a basic web application within the next six months.
Get good grades in computer science courses.Achieve a minimum GPA of 3.5 in computer science courses during the current term.
Learn more about artificial intelligence.Enroll in a course on artificial intelligence by the end of the year and complete at least one AI-related project.
Find an internship in a tech company.Secure a summer internship at a reputable tech company in the local area by submitting applications to at least five companies, networking with industry professionals, and enhancing relevant skills through personal projects.

How to Set SMART Goals

Setting SMART goals is an effective way to plan and achieve your desired outcomes. Here's a step-by-step process you can use to set these goals:

  1. Identify Your Long-Term Vision: Consider your aspirations and long-term objectives in the field of computer science. Determine where you see yourself in the future and what accomplishments you hope to achieve. This will provide a broader context for setting your SMART goals.

  2. Reflect on Your Short-Term Goals: Break down your long-term vision into smaller, manageable goals that can be achieved within a reasonable time frame. These short-term goals will serve as milestones on your journey towards your larger objectives.

  3. Make Your Goals Specific: Ensure your goals are clear and well-defined. Instead of setting a generic goal like "improve programming skills," make it more specific, such as "build a basic web application using Python"

  4. Ensure Goals Are Measurable: Establish criteria or indicators to measure your progress. This allows you to track your advancements and stay motivated. For example, you can set a measurable goal by stating, "Complete three programming projects by the end of the semester."

  5. Determine Achievability: Assess the feasibility of your goals. Ensure they are challenging yet realistic given your current skill level, resources, and time constraints. Setting unattainable goals can lead to frustration, while overly simple goals may not provide enough motivation.

  6. Check for Relevance: Check that your goals are aligned with your long-term vision and current needs. Consider how each goal contributes to your overall development as a computer science student. Goals should be relevant to your personal and professional growth.

  7. Set Time-bound Objectives: Establish deadlines or target dates for accomplishing your goals. This helps create a sense of urgency and prevents procrastination. For instance, you might set a goal like, "Complete an online course on data structures and algorithms within the next three months."

  8. Regularly Review and Revise: Revisit your SMART goals periodically, such as weekly or monthly, to evaluate your progress. Adjust them as needed based on new insights, changes in priorities, or unforeseen circumstances. Regularly reviewing and refining your goals will help keep you on track and motivated.

Discussion: Your Goals


Implementation Intentions

One of the ways to improve your ability to achieve your goals, is to couple well set goals with something called "implementation intentions". These are "if-then" plans that specify when and how you will achieve your goals. They can also be used to state what you will do if certain things happen during your learning journey. When they are used in this way, why are sometimes called "Coping Plans".

Here is an examples of an implementation intention: "If I have finished eating breaktfast, I will spend 15 minutes working on my Mathematical Thinking problem set."

The power of implementation intentions is that you are creating concrete plans of action for how you will achieve your goals, as well as "get out of jail" plans for how to overcome obstacles. By creating these while your mind is still fresh, you are able to utilize them to reduce the cognitive burden of decision making later on. As we saw in the previous section, these can be a powerful way to create habits that support you in achieving your goals.

Implementation intensions are usually in the form of: If [situation A occurs], then I will [behavior X]. Here are some examples:

  • If I wake up tomorrow morning, then I will put on my shoes and go on a 20 minute walk.
  • If I am feeling tempted to eat a cookie, then I will eat an apple instead.
  • If I finish brushing my teeth, then I will journal for 15 minutes.
  • If there are stairs, then I will take them.

And here are examples of implementation intentions that help you manage obstacles that could get in the way of you achieving your goals (i.e. coping plans):

  • If I don't understand the Mathematical Thinking material, I will go to offfice hours.
  • If my code isn't running, I will share a screenshot with my squad mates and ask for help.
  • If I don't understand the OYL assignment instructions, I will post a queston in the help channel on Discord.

How to Create Implementation Intentions

Here's a step-by-step process for writing implementation intentions:

  1. Identify Your SMART Goal: Start by revisiting your SMART goal and ensuring that it is specific, measurable, achievable, relevant, and time-bound. This will serve as the foundation for creating your implementation intentions.

  2. Break Down Your Goal into Actionable Steps: Identify the key steps or actions required to achieve your SMART goal. Break them down into smaller, manageable tasks that you can work on consistently.

  3. Define the "When" and "Where" for Each Step: For each action step, determine the specific time and location where you will carry out the task. This adds clarity and makes it easier to follow through. For example, instead of saying "I will study algorithms," specify "I will study algorithms for one hour at the library from 7 PM to 8 PM every Monday and Wednesday."

  4. Use If-Then Statements: Formulate if-then statements that link specific triggers or situations to the corresponding action steps. This mental cue will help you remember and initiate the intended action. For instance, "If it's Monday evening at 7 PM, then I will go to the library and study algorithms."

Discussion: Your Implementation Intentions