

Osäker på var
börja?
Track
Certifikat
Webbutveckling med C#
4.8+
★★★★★
★★★★★
2349 omdömen
Beginner
Denna spår är uppdelad i flera kurser, som börjar med de grundläggande koncepten i C#, och rör sig långsamt mot mer avancerade koncept, och leder slutligen till webbutveckling med ASP.NET. Visa mer
C#
SQL
HTML/CSS
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity TeamsWhat you will learn
- Build a strong foundation in C#, mastering essential syntax, data types, and object-oriented programming concepts
- Enhance your C# skills with advanced techniques, improving efficiency, readability, and maintainability of your code
- Learn the fundamentals of SQL, understanding how to query and manipulate databases effectively
- Advance your SQL knowledge by mastering joins, subqueries, indexing, and performance optimization
- Get introduced to .NET with C#, exploring its framework, libraries, and tools for building robust applications
- Understand the essentials of HTML to create structured, well-formatted web pages
- Take your C# expertise to the next level with advanced .NET techniques, learning how to build scalable and high-performance applications
- 282 chapters
- 33 hours
- 293 tasks
Trusted by employees of leading companies
Learning track content
Module 1 / C# Basics
In this section we will get an introduction to C#. Moreover, we will also learn some basic elements of the C# language.
- Why C#?Förhandsgranska
- C# SyntaxFörhandsgranska
- Displaying OutputFörhandsgranska
- Challenge: Outputting a TriangleFörhandsgranska
- CommentsFörhandsgranska
- Challenge: CommentsFörhandsgranska
- VariablesFörhandsgranska
- IdentifiersFörhandsgranska
- Challenge: Variable DeclarationFörhandsgranska
- Basic Operators & ExpressionsFörhandsgranska
- Challenge: OperatorsFörhandsgranska
In any programming language we have to deal with different types of data. In this section we will learn about that.
- Integer Data TypesFörhandsgranska
- Challenge: Declaring Explicitly Typed VariablesFörhandsgranska
- Floating-Point and DoubleFörhandsgranska
- BooleansFörhandsgranska
- CharacterFörhandsgranska
- StringFörhandsgranska
- Strings ChallengeFörhandsgranska
- Basic String FormattingFörhandsgranska
- Challenge: String FormattingFörhandsgranska
- Declaring ConstantsFörhandsgranska
- Basic Type CastingFörhandsgranska
- Type Casting PracticeFörhandsgranska
- Basic Type ConversionFörhandsgranska
- Basic Coding PracticeFörhandsgranska
In this section we will learn about features of C# that help us control the flow of the program such as executing pieces of code based on conditions.
- Comparison OperatorsFörhandsgranska
- Logical OperatorsFörhandsgranska
- Challenge: OperatorsFörhandsgranska
- Order of OperationsFörhandsgranska
- If StatementFörhandsgranska
- Challenge: if ConditionFörhandsgranska
- else KeywordFörhandsgranska
- Challenge: else KeywordFörhandsgranska
- if-else ChainFörhandsgranska
- Challenge: if, else-if, elseFörhandsgranska
- switch StatementFörhandsgranska
- Challenge: SwitchFörhandsgranska
In this section we will learn about how to deal with repetitive tasks in programming.
Arrays are an important part of any programming language as they let us group together and manipulate a large amount of similar data. In this section we will learn about Arrays and how to use them for practical applications.
In this section we will learn about one of of the most widely used and essential features of C# called Methods. We will also explore its uses through creative practice tasks.
- What are Methods?Förhandsgranska
- Creating and Calling MethodsFörhandsgranska
- Challenge: Methods CreationFörhandsgranska
- Method ParametersFörhandsgranska
- Challenge: Method with ParametersFörhandsgranska
- Method Return ValuesFörhandsgranska
- Challenge: Return ValuesFörhandsgranska
- Local & Global ScopesFörhandsgranska
- Challenge: ScopesFörhandsgranska
- What's Next?Förhandsgranska
Module 2 / C# Beyond Basics
In this section we will learn data structures like Lists and Dictionaries. We will also learn how to read and write files. In the end we will look at how to deal with unexpected errors which can occur during the program's execution.
- What are Lists?Förhandsgranska
- Practicing List DeclarationFörhandsgranska
- List MethodsFörhandsgranska
- What are Dictionaries?Förhandsgranska
- Practicing DictionariesFörhandsgranska
- Reading Files using StreamReaderFörhandsgranska
- Reading Files using File MethodsFörhandsgranska
- Writing FilesFörhandsgranska
- Error HandlingFörhandsgranska
- Practicing Error HandlingFörhandsgranska
In this section we will learn about some more advanced structures for storing data, namely Structs and Enumerators. We will learn how to use them and we will look at some practice examples as well.
- What are Structs?Förhandsgranska
- Defining & Using a StructureFörhandsgranska
- Practicing StructsFörhandsgranska
- Structs with Other Data StructuresFörhandsgranska
- Struct MethodsFörhandsgranska
- Correctly Accessing Fields in Struct MethodsFörhandsgranska
- Practicing MethodsFörhandsgranska
- Struct ConstructorsFörhandsgranska
- Practicing ConstructorsFörhandsgranska
- EnumeratorsFörhandsgranska
- Practicing EnumeratorFörhandsgranska
In this section, we will learn what Object-Oriented Programming (OOP) is and how we can create programs that use the concept of OOP. We will also practice this concept with many hands-on tasks that are fun to solve.
- What is Object-Oriented Programming?Förhandsgranska
- Defining ClassesFörhandsgranska
- Practice: Creating ClassesFörhandsgranska
- Class ObjectsFörhandsgranska
- Class Objects vs Struct ObjectsFörhandsgranska
- Practice: ObjectsFörhandsgranska
- Class MethodsFörhandsgranska
- Practice: MethodsFörhandsgranska
- Class ConstructorsFörhandsgranska
- Practice: ConstructorsFörhandsgranska
In this section, we delve deeper into the essentials of Object-Oriented Programming (OOP). We explore advanced topics to enhance your understanding and proficiency in OOP. From managing object lifecycles through destructors to refining class structures with access modifiers, and harnessing the power of derived classes and method overloading, this section equips you with the knowledge and practical skills needed to design robust and flexible object-oriented systems.
This will be a detailed chapter in which we will dive deep into the main principles of Object-Oriented Programming (OOP). We will also look at many practical applications and hands-on examples of these principles to understand them better. In this section we will revise some of the concepts from the previous section in a bit more detail and combine the concepts together to understand it more thoroughly.
- What are the Principles of OOP?Förhandsgranska
- InheritanceFörhandsgranska
- Practicing InheritanceFörhandsgranska
- PolymorphismFörhandsgranska
- Practicing PolymorphismFörhandsgranska
- EncapsulationFörhandsgranska
- Encapsulation PracticeFörhandsgranska
- AbstractionFörhandsgranska
- Abstraction PracticeFörhandsgranska
- What's Next?Förhandsgranska
Module 3 / Introduktion till SQL
I det här avsnittet kommer vi att lära oss hur man använder SQL SELECT-satsen för att hämta en enskild tabellkolumn, flera tabellkolumner och alla tabellkolumner. Vi kommer också att ta reda på hur man returnerar unika värden.
- Hämta Enskilda KolumnerFörhandsgranska
- Hämta Flera KolumnerFörhandsgranska
- Hämta Alla KolumnerFörhandsgranska
- Hämta Unika RowsFörhandsgranska
- Begränsa ResultatFörhandsgranska
- Utmaning: Hitta Befolkningen i LändernaFörhandsgranska
- Utmaning: Hitta Alla LänderFörhandsgranska
- Utmaning: Hitta Alla Länder Med Deras IDsFörhandsgranska
- Utmaning: Hitta LandskapitalerFörhandsgranska
- Utmaning: Hitta de Regioner Där Alla Länder Är BelägnaFörhandsgranska
I det här avsnittet kommer vi att utforska hur man organiserar och prioriterar den data som returneras av en fråga med hjälp av ORDER BY-satsen. Placerad i slutet av en SELECT-sats, låter denna sats dig sortera dina resultat efter en eller flera kolumner, antingen i stigande eller fallande ordning, vilket möjliggör mer meningsfull och lättolkad datautmatning.
- Sortera DataFörhandsgranska
- Utmaning: BefolkningssorteringFörhandsgranska
- Sortering Efter Flera KolumnerFörhandsgranska
- Utmaning: Dual-SorteringsfrågaFörhandsgranska
- Specificera SorteringsriktningFörhandsgranska
- Utmaning: Sort the Länderna Efter Region och HuvudstadFörhandsgranska
- Utmaning: Sortera Huvudstäder i Fallande OrdningFörhandsgranska
- Utmaning: Sort Countries i Stigande OrdningFörhandsgranska
- Utmaning: Hitta Länder, Deras IDs, och Deras BefolkningarFörhandsgranska
- Utmaning: Hitta Länder, IDs, Populationer, Regioner och Sortera DemFörhandsgranska
- Utmaning: Hitta Alla Continenter och Sortera Dem i Stigande OrdningFörhandsgranska
I det här avsnittet kommer vi att lära oss hur man filtrerar returnerad data med hjälp av SELECT-satsens WHERE-villkor. Vi kommer att lära oss hur man testar för likhet, olikhet, mer och mindre betydande än värdeintervall och NULL-värden.
I det här avsnittet kommer vi att utforska hur du kan förfina dina sökvillkor genom att kombinera WHERE-klausuler med AND- och OR-operatörerna. Vi kommer också att täcka hur NOT-operatören kan användas för att utesluta vissa resultat.
I det här avsnittet kommer vi att lära oss vad SQL aggregate functions är och hur man använder dem för att sammanfatta tabelldata.
Module 4 / Intermediär SQL
I det här avsnittet kommer du att lära dig hur man grupperar och hanterar data effektivt. Vi kommer att introducera GROUP BY-operatören för att gruppera data. Dessutom kommer du att lära dig hur man filtrerar grupperad data med hjälp av HAVING-operatören.
- GROUP BY-KlausulFörhandsgranska
- Ordning av UttalandenFörhandsgranska
- Utmaning: Total Körtid för Varje SubwaylinjeFörhandsgranska
- Utmaning för Genomsnittlig ElevbetygFörhandsgranska
- Söker Efter de Bästa Math Studenterna UtmaningFörhandsgranska
- Having-KlausulFörhandsgranska
- Flera Aggregeringsfunktioner i FråganFörhandsgranska
- Mer Komplex FiltreringFörhandsgranska
Du kommer att lära dig om nästlade underfrågor, hur man skapar dem och hur man använder dem effektivt.
Här kommer du att lära dig hur man kombinerar flera tabeller, vilket gör att du kan arbeta med en enhetlig tabell och förenkla skapandet av frågor.
- JOIN 2 TabellerFörhandsgranska
- Utmaning: Få Kategori Efter ProduktprisFörhandsgranska
- Utmaning: Få Lägsta Pris per KategoriFörhandsgranska
- Utmaning: Get Produktmängd Efter KategoriFörhandsgranska
- Left, Right och Inner JoinsFörhandsgranska
- Utmaning: Tabell JoinFörhandsgranska
- Utmaning: FULL JOIN AnvändningFörhandsgranska
Lär dig grunderna i Data Definition Language (DDL) och Data Manipulation Language (DML) i SQL, inklusive hur man skapar, ändrar och tar bort database objects, samt hur man infogar, uppdaterar och tar bort data inom tables.
Module 5 / Introduction to .NET with C#
In this section we will learn about what is .NET, how to setup the development environment and how to start making some console apps. Apart from that we will also learn how to take input from the user in the console for making interactive applications.
- What is the .NET Platform exactly?Förhandsgranska
- Creating a Console ApplicationFörhandsgranska
- Taking input from the UserFörhandsgranska
- Task - Building a Simple CalculatorFörhandsgranska
- Dealing with Exceptions caused by User InputFörhandsgranska
- Task - Improving the CalculatorFörhandsgranska
- Reading FilesFörhandsgranska
- Writing FilesFörhandsgranska
- Task - File Based CalculatorFörhandsgranska
In this section, we will be learning how to perform multiple tasks at once to improve the performance and responsiveness of applications. We will also briefly learn what Web Services and APIs are. This will give us an introduction to how the internet and websites work. We will also learn how to use APIs.
- What is Asynchronous Programming?Förhandsgranska
- Implementing an Asynchronous MethodFörhandsgranska
- Task - Asynchronously Reading FilesFörhandsgranska
- Introduction to APIsFörhandsgranska
- Making a GET RequestFörhandsgranska
- Task - Using an APIFörhandsgranska
- Handling Exceptions caused by HTTP RequestFörhandsgranska
- Task - Exception Handling for API ResponseFörhandsgranska
In this section we will learn what are databases, specifically what are SQL databases and how to create them. We will study their structure and will learn to perform some basic operations on the databases. This chapter will serve as an introduction to ADO.NET which is a .NET module used for interacting with databases.
- What is a Database?Förhandsgranska
- Structure of a Relational DatabaseFörhandsgranska
- Setting Up A MySQL ServerFörhandsgranska
- Connecting to the MySQL ServerFörhandsgranska
- Task - Writing Connection StringsFörhandsgranska
- Executing CommandsFörhandsgranska
- Task - Executing MySQL CommandsFörhandsgranska
- MySqlCommand MethodsFörhandsgranska
- Task - Connecting to a MySQL Database and Executing CommandsFörhandsgranska
In this section, we'll cover the fundamental CRUD operations (Create, Read, Update, Delete) using SQL. We'll explore SQL syntax at a basic level and recap how to implement each SQL statement in C# code. While some parts may serve as a review from the previous section, this will provide a solid understanding of essential database concepts, enabling you to understand both the SQL and C# code and write it independently.
- Introduction to CRUD OperationsFörhandsgranska
- Installing & Using MySQL WorkbenchFörhandsgranska
- CREATE - Part IFörhandsgranska
- Task - Using CREATEFörhandsgranska
- CREATE - Part IIFörhandsgranska
- Task - Using INSERTFörhandsgranska
- ReadFörhandsgranska
- Task - Using SELECTFörhandsgranska
- UpdateFörhandsgranska
- Task - Using UPDATEFörhandsgranska
- Delete - Part IFörhandsgranska
- Delete - Part IIFörhandsgranska
- Task - Using DELETEFörhandsgranska
In this chapter we will learn about additional functions or methods for making database management more efficient. For-example executing multiple SQL commands at once using Stored Procedures, and retrieving data in bulk from the SQL database using DataSet.
Module 6 / HTML Essentials
Get an introduction to the web and HTML, including the significance of tags, elements, and attributes. Learn about the basic structure of an HTML document and the brief history of the web.
Master the essentials of HTML markup, focusing on special text formatting and lists, understanding their significance in structuring content within an HTML document. Dive into the intricacies of HTML document structure while refining text markup techniques.
- HTML Document Structure ExplainedFörhandsgranska
- Challenge: Structuring an HTML DocumentFörhandsgranska
- Using Headings and Paragraphs in HTMLFörhandsgranska
- Challenge: Mastering Text MarkupFörhandsgranska
- Enhancing Text and Interactivity in HTMLFörhandsgranska
- Challenge: Applying Special Text MarkupFörhandsgranska
- Creating and Using Lists in HTMLFörhandsgranska
- Challenge: Structuring Content with ListsFörhandsgranska
Unlock the power of visual and auditory content in web development as you learn to seamlessly integrate images, video, and audio elements into HTML documents. Explore the nuances of incorporating various media formats.
Navigate the intricacies of data presentation and user interaction with comprehensive coverage of tables and forms in HTML, encompassing table structures, form creation, and input elements. Gain proficiency in implementing form input elements and leveraging attributes for enhanced functionality.
- Creating and Structuring HTML TablesFörhandsgranska
- Challenge: Working with TablesFörhandsgranska
- Building HTML FormsFörhandsgranska
- Challenge: Building a Web FormFörhandsgranska
- Using Form Inputs and Labels EffectivelyFörhandsgranska
- Challenge: Applying Form Inputs and LabelsFörhandsgranska
- HTML Input Attributes for Enhanced FunctionalityFörhandsgranska
Elevate your HTML skills to the next level by delving into semantic HTML elements, empowering you to create well-structured and accessible web content. Embark on building your first website, applying newfound knowledge to bring your ideas to life.
Module 7 / Advanced C# with .NET
In this section, we will learn what MAUI is, and how to set up a .NET MAUI application. We will also look at the structure of an MAUI application, and in the end, we will learn how to add some basic elements to our UI. This section will prepare us for the rest of the course where we will be working with more practical concepts.
In this section we will learn about delegates, events and data binding. Using this knowledge we will learn how to make interesting interactive GUI applications.
In this section, we will learn what Threading is and how to use it to keep our applications responsive, and run smoothly while performing resource intensive tasks. We will see how to differs from other similar concepts on C# and what are good practices when implementing Threading in our application. There will also be some interesting tasks to help us in understand this concept on a deeper level.
In this section, we will learn how to make more robust methods, classes and other objects which can work multiple types of input data types, by first learning about Generics and how to implement generic classes, then we will move on to Reflection and how to use reflection for further improving the capabilities of our programs.
- What are Generics?Förhandsgranska
- Implementing Generic MethodsFörhandsgranska
- Task - Implementing a Generic MethodFörhandsgranska
- Implementing Generic ClassesFörhandsgranska
- Task - Implementing a Generic ClassFörhandsgranska
- Introduction to ReflectionFörhandsgranska
- Basic ReflectionFörhandsgranska
- Task - ReflectionFörhandsgranska
- What's Next?Förhandsgranska
Requirements
- A computer with a browser - all browsers are supported.
- Your enthusiasm to enhance your tech skills.
- Everything else needed to start learning and practicing is already included in this course.
Over 200,000 5-star ratings and counting
Ruslan Kravchuk
Det viktigaste är att lära sig och inte ge upp
Materialet är bra, det finns mycket att lära, allt för att bli bättre och det viktigaste är att lära sig det man vill....
Matteo Comune
Tack vare dem lär jag mig mycket…
Tack vare dem lär jag mig mycket snabbare eftersom de hjälper dig att förstå allt från grunden. Det är den bästa webbplatsen som hjälper personer utan IT-bakgrund...
Yuliana Cadavid
Utmärkt kurs för nybörjare
Utmärkt kurs för nybörjare, de testar dina kunskaper i varje lektion...
Elpunzon
Jag njuter av min Codefinity-upplevelse…
Jag njuter av min Codefinity-upplevelse med att lära mig Python. Det självstyrda lärsättet är fantastiskt eftersom jag kan anpassa det efter mitt schema...
Alexandru Alexandru
Det är trevligt att lära sig från Codefinity
Det är trevligt att lära sig från Codefinity. Det är enkelt och har bra exempel på vad jag lärt mig här...
jacob Templet
Easy to follow along with and provides…
Lätt att följa med i och ger utmaningar i min vardag. Utmaningen får mig att vilja lära mig dag efter dag...
Elan
Codefinity är ett heltäckande lärverktyg…
Codefinity är ett heltäckande lärverktyg som hjälper dig att utveckla dina färdigheter som mjukvaruingenjör eller datavetare. Övningarna är roliga och ett bra sätt att skärpa dina kunskaper...
Thibault
Första gången jag lär mig att koda
Första gången jag lär mig att koda och lyckas med Codefinity - tack...
Adrien Morel
Väl utformad för totala nybörjare
Väl utformad för totala nybörjare, med stegvis utveckling som får mig att känna mig trygg....
_Gracy
det är helt enkelt perfekt förklarat
det är helt enkelt perfekt förklarat! Hittills har jag inte upplevt några svårigheter eftersom allt är så välorganiserat...
Ruslan Kravchuk
Det viktigaste är att lära sig och inte ge upp
Materialet är bra, det finns mycket att lära, allt för att bli bättre och det viktigaste är att lära sig det man vill....
Matteo Comune
Tack vare dem lär jag mig mycket…
Tack vare dem lär jag mig mycket snabbare eftersom de hjälper dig att förstå allt från grunden. Det är den bästa webbplatsen som hjälper personer utan IT-bakgrund...
Yuliana Cadavid
Utmärkt kurs för nybörjare
Utmärkt kurs för nybörjare, de testar dina kunskaper i varje lektion...
Elpunzon
Jag njuter av min Codefinity-upplevelse…
Jag njuter av min Codefinity-upplevelse med att lära mig Python. Det självstyrda lärsättet är fantastiskt eftersom jag kan anpassa det efter mitt schema...
Alexandru Alexandru
Det är trevligt att lära sig från Codefinity
Det är trevligt att lära sig från Codefinity. Det är enkelt och har bra exempel på vad jag lärt mig här...
jacob Templet
Easy to follow along with and provides…
Lätt att följa med i och ger utmaningar i min vardag. Utmaningen får mig att vilja lära mig dag efter dag...
Elan
Codefinity är ett heltäckande lärverktyg…
Codefinity är ett heltäckande lärverktyg som hjälper dig att utveckla dina färdigheter som mjukvaruingenjör eller datavetare. Övningarna är roliga och ett bra sätt att skärpa dina kunskaper...
Thibault
Första gången jag lär mig att koda
Första gången jag lär mig att koda och lyckas med Codefinity - tack...
Adrien Morel
Väl utformad för totala nybörjare
Väl utformad för totala nybörjare, med stegvis utveckling som får mig att känna mig trygg....
_Gracy
det är helt enkelt perfekt förklarat
det är helt enkelt perfekt förklarat! Hittills har jag inte upplevt några svårigheter eftersom allt är så välorganiserat...
Data Engineer
Certifikat för slutförande
Visa dina nyförvärvade färdigheter. Du har förtjänat det
Discover more
Learning tracks
Endast för Ultimate
6 Kurser
168 Uppgifter
Endast för Ultimate
4 Kurser
115 Uppgifter
Endast för Ultimate
6 Kurser
101 Uppgifter
Endast för Ultimate
4 Kurser
143 Uppgifter
Endast för Ultimate
5 Kurser
119 Uppgifter
Endast för Ultimate
3 Kurser
39 Uppgifter
Endast för Ultimate
7 Kurser
376 Uppgifter
Endast för Ultimate
2 Kurser
1 Projekt
57 Uppgifter
Endast för Ultimate
7 Kurser
346 Uppgifter
Endast för Ultimate
6 Kurser
309 Uppgifter
Endast för Ultimate
5 Kurser
146 Uppgifter
Endast för Ultimate
5 Kurser
135 Uppgifter
Endast för Ultimate
3 Kurser
71 Uppgifter
Endast för Ultimate
6 Kurser
239 Uppgifter
Endast för Ultimate
5 Kurser
239 Uppgifter
Endast för Ultimate
4 Kurser
125 Uppgifter
Endast för Ultimate
3 Kurser
119 Uppgifter
Endast för Ultimate
3 Kurser
75 Uppgifter
Learning tracks
spår
Python från Noll till Hjälte
Nybörjare
4.7
(8316)
spår
SQL från Nybörjare till Expert
Nybörjare
4.7
(2587)
spår
C++-Grunder
Nybörjare
4.5
(476)
spår
Spelutveckling med Unity
Nybörjare
4.7
(70)
spår
Bli en React-Utvecklare
Medelnivå
4.7
(66)
spår
Excel-Grunder
Nybörjare
4.7
(295)
spår
Java-Grunder
Nybörjare
4.7
(193)
spår
Python Bortom Mellanliggande
Nybörjare
4.6
(64)
spår
Fullstack Webbutveckling
Nybörjare
4.7
(847)
spår
Grunderna i Frontend-Utveckling
Nybörjare
4.7
(818)
spår
Bemästra Datavisualisering
Medelnivå
4.7
(559)
spår
Övervakad Maskininlärning
Medelnivå
4.6
(123)
spår
C++ Mästerskap
Avancerad
4.8
(16)
spår
Java Web
Avancerad
4.7
(1155)
spår
Bli en QA-Ingenjör
Nybörjare
4.7
(712)
spår
Videoproduktion med Adobe
Nybörjare
5.0
(5)
spår
UI/UX Designverktyg
Nybörjare
5.0
(4)
spår
Grundläggande Kontorsfärdigheter
Nybörjare
4.8
(237)
Become a Development expert
Interactive exercises
Learning videos
AI-assistant on all courses
Workspaces for designing your own projects
Ready to get started?
ProBest intro offer | UltimateA complete experience to kickstart your career | |
---|---|---|
85+ Top-Rated courses | ||
Completion certificates | ||
AI-Assistant in all courses | ||
20+ hands-on Real-world projects | ||
Personalized study tracks | ||
Unlimited workspaces | ||
Boost your Tech Skills!
with up to 55% off
What you'll get with our subscription:
Access to 85+ top-rated courses
AI-driven Learning
Workspaces for practicing your skills
Personalized study tracks
Certificates of completion
Training 2 or more people?
Get your team access to Codefinity courses anytime, anywhere.
Try Codefinity Teams