Software Development
Courses
Getting Started
- Meet with your Academic Advisor to discuss what CS and Math courses to start with
- Consider the Games emphasis
Making Progress
- Meet with your Advisor often to discuss your progress, course options for electives, as well as the graduation path that will work best for you
- Keep track of degree requirements and your own progress by using DARs, flowcharts, or a degree requirements sheet; ask your advisor to personalize one for you!
- Plan to take 2-3 CS courses each semester
Finishing Up
- Enroll for Senior Capstone
- (Project or Thesis)
- Finish remaining graduation requirements
- Check your Degree Audit and meet with your Academic Advisor to confirm graduation
Community
Getting Started
- Attend University Weeks of Welcome Events
- Attend the Get Involved Fair and Engineering Club Rush
Making Progress
- Get connected to the Utah Center for Broadening Participation in Computing (UCBPC)
- Attend Research Symposiums
- Form study groups with classmates and peers
- Use your Arts Pass to access events
Finishing Up
- Network with your fellow classmates and professors
- Take on a leadership role in a student run club or organization
Knowledge & Skills
Getting Started
- Explore tutoring resources through the Kahlert School of Computing and the Learning Center.
- Understand what skills are required for the future career you would like to pursue
Making Progress
- Attend a STEM or Computing Job Fair to find Internships
- Attend Computing Research Day, join a research team, and connect with faculty members whose research areas interests you
- Learn about opportunities within the Office of Undergraduate Research, including the Undergraduate Research Opportunities Program (UROP)
- Enroll in CS 4011: Professional Development to learn more about different careers and to prepare for entering the job market
Finishing Up
- Complete electives that pique your interest and will prepare you for your desired career path
- Collaborate with your team to complete your Senior Capstone
Transformation
Getting Started
- Find a mentor by connecting with faculty and leaders
- Request a Learning Consultation through the Learning Center or attend a workshop with the Center for Student Wellness
Making Progress
- Understand what resources are available to you at the University Counseling Center
- Go on a Learning Abroad Trip
- Reach out to professors to engage in research experience
- Analyze your study skills
- Complete an internship that allows you to utilize your knowledge and your skills.
Finishing Up
- Showcase the skills you have acquired in the SD program through your Capstone Project!
- Reflect on what you have learned in the program and with outside opportunities
Impact
Getting Started
- Attend a Learning Abroad 101 Information Session
- Engage in Service Opportunities with the Bennion Center
- Meet with a Student Success Coach
Making Progress
- Apply to work as a TA, tutor, or UCIC Student Ambassador.
- Explore opportunities with FLEXU, Alternative Breaks, and Hinckley Institute Internships
Finishing Up
- Present research at a local, national, or global conference
- Prepare to deploy your Capstone Project into a business or research project
Careers
Getting Started
- Explore resources that are available at the Career & Professional Development Center
- Develop a resume and sample cover letter
- Attend Career Fest
Making Progress
- Continue to update your resume and cover letter to reflect your experiences and skills
- Seek out an internship and/or undergraduate research opportunity
- Attend Pathways or the STEM Career Fair during the Fall semester
Finishing Up
- Meet with a Career Coach to create a job search plan and complete a mock interview
- Apply for jobs or graduate programs
Start Your Career Journey
Find support at the Career and Professional Development Center (CPDC)
About the Major
Software Development is the study of the principles, tools, and techniques for developing modern software. Software developers create the web, mobile, and desktop applications that we use every day. They typically work as full stack developers, writing and maintaining the secure front end and back end code that turns a specification into a real-world, functioning system.
Learning Outcomes
Learning Outcomes:
- Utilize and demonstrate a knowledge of classical algorithms and data structures to solve computational problems, and analyze the efficiency of algorithms.
- Show proficiency as a software engineer and demonstrate programming skills and the ability to learn new languages and tools.
- Work with a large code base.
- Work with modern standard computing ecosystems such as web, mobile and cloud applications.
- Create effective user interfaces and user experiences.
- Function effectively as a member of a team engaged in software development.
- Communicate effectively in a variety of technical and professional contexts.
- Apply current ethical standards as related to software engineering.
Plan & Prepare
At the U, we plan for our students to have an exceptional Educational Experience identified by four broad categories we call the Learning Framework: Community, Knowledge & Skills, Transformation, and Impact. This major map will help you envision, explore, design, and plan your personalized Exceptional Education Experience with the Learning Framework at the core. In addition to assisting you in planning your coursework and navigating the requirements of your major, this map will help you incorporate other kinds of experiences to expand your knowledge, support your development, and prepare you for the future you want.