We may earn an affiliate commission when you visit our partners.
Course image
Dr. Tim "Dr. T" Chamillard

This course is the third course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Read more

This course is the third course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

This course assumes you have the prerequisite knowledge from the previous courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course. Throughout this course you'll continue building your foundational C# and Unity knowledge by exploring more C# and Unity topics.

The material in this and the previous two courses is essentially our first programming course for Game Design and Development majors at UCCS.

Module 1: Learn about abstraction and how we can use it to design and implement console application classes

Module 2: Learn more about how methods and parameters work

Module 3: Learn how we can use abstraction to design and implement Unity classes

Module 4: Add text output (like score!) and sound effects to your Unity games

“Unity” is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.

This course is an independent work and is not sponsored by, authorized by, or affiliated with Unity Technologies or its affiliates

Enroll now

What's inside

Syllabus

Abstraction and Console App Classes
In this module, you'll learn about abstraction, which is all about deciding what details matter (and what details don't) as we develop a solution to a particular problem. You'll also learn how to design and implement a console app class.
Read more
A Closer Look at Methods
In this module, we'll look more closely at how methods work, including how parameters work and how we return a value from a method.
Unity Classes
In this module, you'll learn how to design and implement a class for use in a Unity game.
Strings and Unity Audio
In this module, you'll learn about strings and how we can use them in both console apps and Unity games. You'll also learn how to add sound effects to your Unity games.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores abstraction and encapsulation, which are standard in software development
Develops foundational coding skills in C#, which is core for game design and development
Taught by Dr. Tim "Dr. T" Chamillard, who has 25 years of experience in game design and development
Requires some prerequisite knowledge in C# and Unity
May require additional software or tools that are not readily available in a typical household or in a library

Save this course

Save C# Class Development to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in C# Class Development with these activities:
Review the basics of object-oriented programming
Reviewing the basics of object-oriented programming will help prepare you for this course where you will build and implement Unity classes.
Show steps
  • Read through an online tutorial on the basics of OOP
  • Review your notes from a previous OOP course
  • Complete a few practice problems on OOP concepts
Review Head First Java
Get a solid foundation in Java programming concepts before starting the course.
View Head First Java on Amazon
Show steps
  • Read the first three chapters of the book.
  • Complete the practice exercises at the end of each chapter.
Practice writing C# code
Practicing writing C# code will give you a stronger foundation for the coding you will do in this course.
Browse courses on C#
Show steps
  • Find online coding challenges and practice solving them
  • Write a simple C# program that does something interesting
  • Join a coding community and collaborate on projects
12 other activities
Expand to see all activities and additional details
Show all 15 activities
Follow tutorials on JavaFX
Expand your knowledge of Java by learning how to create graphical user interfaces (GUIs).
Browse courses on Java Programming
Show steps
  • Find a reputable tutorial on JavaFX.
  • Follow the tutorial step-by-step.
  • Complete the practice exercises.
Attend a Java coding workshop
Learn from experienced Java developers and connect with other learners.
Browse courses on Java Programming
Show steps
  • Find a Java coding workshop in your area.
  • Register for the workshop.
  • Attend the workshop and participate actively.
Form a study group with other Java learners
Collaborate with peers to reinforce your understanding and learn from others.
Browse courses on Java Programming
Show steps
  • Find other Java learners who are interested in forming a study group.
  • Set up a regular meeting time and place.
  • Discuss course materials, work on assignments together, and quiz each other.
Follow a tutorial on building a simple Unity game
Following a tutorial on building a simple Unity game will help you get started with the Unity game engine, which you will use throughout this course.
Browse courses on Unity
Show steps
  • Find a tutorial on building a simple Unity game that interests you
  • Follow the tutorial step-by-step
  • Once you have completed the tutorial, try to build on the game by adding your own features
Volunteer to help other students in the course
Volunteering to help other students in the course will help you solidify your own understanding of the course concepts and reinforce your learning.
Show steps
  • Ask your instructor if there are any opportunities to help other students
  • Attend study sessions and help other students with their work
  • Answer questions on the course discussion board
Build a simple text-based game
Apply your understanding of Java programming and OOP concepts to create a small game.
Browse courses on Game Development
Show steps
  • Design the game mechanics and storyline.
  • Create the classes and objects for the game.
  • Implement the game logic.
  • Test and debug the game.
Practice Java coding problems on LeetCode
Strengthen your problem-solving skills and reinforce your understanding of Java syntax.
Browse courses on Java Programming
Show steps
  • Sign up for a LeetCode account.
  • Choose a problem to solve.
  • Write your solution in Java.
  • Submit your solution and review the feedback.
Write a blog post about Java inheritance
Deepen your understanding of Java inheritance by explaining it to others.
Browse courses on Java Programming
Show steps
  • Research the topic of Java inheritance.
  • Write an outline for your blog post.
  • Draft the content of your blog post.
  • Proofread and edit your blog post.
  • Publish your blog post.
Volunteer at a local tech organization
Gain practical experience and give back to the community.
Browse courses on Java Programming
Show steps
  • Find a local tech organization that accepts volunteers.
  • Apply to volunteer.
  • Attend a volunteer orientation.
  • Help out with projects or events.
Write a blog post about a topic related to game development
Writing a blog post about a topic related to game development will help you synthesize your knowledge and understanding of the concepts covered in this course.
Browse courses on Game Development
Show steps
  • Choose a topic that you are interested in and that is relevant to game development
  • Research the topic and gather information from reliable sources
  • Write a blog post that is well-organized, informative, and engaging
  • Publish your blog post and share it with others
Participate in a game development competition
Participating in a game development competition will give you the opportunity to apply your skills and knowledge in a real-world setting and receive feedback from experts.
Browse courses on Game Development
Show steps
  • Find a game development competition that interests you and that is appropriate for your skill level
  • Form a team or work on your own to create a game that meets the competition's requirements
  • Submit your game to the competition and wait for the results
Design and implement a Java class library
Demonstrate your mastery of Java programming by creating a reusable class library.
Browse courses on Java Programming
Show steps
  • Identify the purpose and scope of your class library.
  • Design the classes and interfaces for your class library.
  • Implement the code for your class library.
  • Test and debug your class library.
  • Document your class library.

Career center

Learners who complete C# Class Development will develop knowledge and skills that may be useful to these careers:
Game Designer
Game Designers create the concepts, rules, and storylines for video games. They work with programmers, artists, and other professionals to bring their ideas to life. This course provides a solid foundation in the C# programming language and the Unity game engine, which are both widely used in game development. Students will learn how to apply programming principles to create interactive and engaging games.
Game Developer
Game Developers work with a variety of programming languages and technologies to create video games. They work with programmers, artists, and other professionals to bring their ideas to life. This course provides a strong foundation in the C# programming language and the Unity game engine, which are both widely used in game development. Students will learn how to apply programming principles to create interactive and engaging games.
Software Developer
Software Developers design, develop, and maintain software applications. They work with a variety of programming languages and technologies to create software that meets the needs of users. This course provides a strong foundation in the C# programming language and the Unity game engine, which are both widely used in software development. Students will learn how to apply programming principles to develop software applications for a variety of platforms.
Computer Programmer
Computer Programmers write and maintain the code that makes software and applications function. They work with a variety of programming languages to create and test code, and may also help to design and develop new software programs. This course provides a solid foundation in the C# programming language, which is widely used in software development, and teaches students how to apply programming principles to real-world problems.
Web Developer
Web Developers design, develop, and maintain websites. They work with a variety of programming languages and technologies to create websites that are both functional and visually appealing. This course provides a solid foundation in the C# programming language, which is widely used in web development. Students will learn how to apply programming principles to develop websites for a variety of platforms.
Mobile Developer
Mobile Developers design, develop, and maintain mobile applications. They work with a variety of programming languages and technologies to create apps that are both functional and user-friendly. This course provides a solid foundation in the C# programming language, which can be used to develop mobile apps for a variety of platforms. Students will learn how to apply programming principles to develop mobile apps for a variety of devices.
Database Administrator
Database Administrators manage and maintain databases. They work with a variety of database technologies to ensure that data is stored, organized, and accessible in a secure and efficient manner. This course provides a solid foundation in the C# programming language, which can be used to develop database applications. Students will learn how to apply programming principles to develop database applications for a variety of platforms.
Systems Analyst
Systems Analysts study the needs of an organization and design and implement systems to meet those needs. They work with a variety of programming languages and technologies to develop systems that are both efficient and effective. This course provides a solid foundation in the C# programming language, which can be used to develop a variety of systems applications. Students will learn how to apply programming principles to develop systems applications for a variety of platforms.
Computer Scientist
Computer Scientists conduct research in the field of computer science. They develop new algorithms and theories to solve a variety of problems. This course provides a solid foundation in the C# programming language, which can be used to develop a variety of research applications. Students will learn how to apply programming principles to develop research applications for a variety of platforms.
IT Manager
IT Managers plan, implement, and manage the IT infrastructure of an organization. They work with a variety of programming languages and technologies to ensure that an organization's IT systems are operating efficiently and effectively. This course provides a solid foundation in the C# programming language, which can be used to develop IT management applications. Students will learn how to apply programming principles to develop IT management applications for a variety of platforms.
Teacher
Teachers instruct students in a variety of subjects. They work with students of all ages to help them learn and grow. This course provides a solid foundation in the C# programming language, which can be used to develop educational software and applications. Students will learn how to apply programming principles to develop educational software and applications for a variety of platforms.
Editor
Editors review and edit written content for a variety of purposes, including journalism, marketing, and fiction. This course provides a solid foundation in the C# programming language, which can be used to develop editing software and applications. Students will learn how to apply programming principles to develop editing software and applications for a variety of platforms.
Writer
Writers create written content for a variety of purposes, including journalism, marketing, and fiction. This course provides a solid foundation in the C# programming language, which can be used to develop writing software and applications. Students will learn how to apply programming principles to develop writing software and applications for a variety of platforms.
Artist
Artists create visual content for a variety of purposes, including painting, sculpture, and photography. This course provides a solid foundation in the C# programming language, which can be used to develop art software and applications. Students will learn how to apply programming principles to develop art software and applications for a variety of platforms.
Social Media Manager
Social Media Managers create and manage social media content for a variety of organizations. This course provides a solid foundation in the C# programming language, which can be used to develop social media management software and applications. Students will learn how to apply programming principles to develop social media management software and applications for a variety of platforms.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in C# Class Development.
Provides a catalog of design patterns that are commonly used in game development. It good resource for learning how to design and implement reusable and maintainable game code.
Provides a broad overview of Unity, covering topics such as game design, level design, and scripting. It good resource for getting started with Unity.
Provides a detailed overview of the architecture of modern game engines. It good resource for learning how game engines work and how to design and implement your own game engine.
Provides a comprehensive overview of real-time rendering techniques. It good resource for learning how to create realistic and immersive graphics for games.
Provides a thorough introduction to design patterns in C#. It good resource for learning how to use design patterns to solve common software design problems.
Collection of recipes that provide solutions to common programming problems in C#. It good resource for finding quick and easy solutions to problems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to C# Class Development.
More C# Programming and Unity
Most relevant
Intermediate Object-Oriented Programming for Unity Games
Most relevant
Introduction to C# Programming and Unity
Most relevant
Moving, Shooting, and Debugging in GameMaker
Most relevant
Planning, HUDs, and Spawners in GameMaker
Most relevant
Parenting and More GameMaker Language Code
Most relevant
Unity & 100+ Asset Store Kits - The Complete Game...
Most relevant
Intermediate Object-Oriented Programming for Unreal Games
Most relevant
The Ultimate Guide to Game Development with Unity...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser