Exploration of Collections and Data Structures in C#
Work with lists, dictionaries, and other collections for organizing and managing data in C#.

Track
Software Development
Level
Intermediate
Language
English
Duration
30 hours
Learning Mode
Learn at ALC or at Home
Introduction
- Understand the key concepts of queues, linked lists, and various collections in C#.
- Explain the differences between generic and non-generic queues and their applications in C#.
- Implement collection classes and manage data with methods and properties of generic and non-generic collections.
- Develop and implement collections of key/value pairs using dictionaries and sorted dictionaries.
- Create and manipulate hash sets, sorted sets, and lists in C# for optimized data management.
- Utilize the collection class, enumerators, and the IEnumerator interface to traverse and manage collections.
- Apply sorting techniques to organize collections and improve data retrieval efficiency.
- Design and implement doubly linked lists and circular linked lists for flexible data handling.
- Explore the functionality of static keywords and namespaces in organizing code and enhancing modularity.
- Master the use of system collections and concurrent collections for building thread-safe applications.
What you'll learn ?
- Identify the differences between various types of collections and explain their specific uses in C#.
- Create and manage both generic and non-generic queues, applying their characteristics to solve real-world problems.
- Implement different collection types, including dictionaries, hash sets, and lists, to efficiently manage and store data.
- Design and utilize key-value pair collections such as dictionaries and sorted dictionaries to handle complex data structures.
- Manipulate hash sets, sorted sets, and lists for quick and effective data management in various scenarios.
- Traverse and manipulate collections using enumerators and IEnumerator interfaces, improving code efficiency and flexibility.
- Apply sorting methods to optimize the performance of collections and enhance data retrieval.
- Construct and manage linked lists, including doubly and circular linked lists, for more flexible data handling.
- Organize code using static keywords and namespaces to ensure modular and scalable application development.
- Implement thread-safe applications by leveraging concurrent collections and system collections in C#.
Syllabus
Queue
- Queue Class and Characteristics
- Constructors and their properties
- Queue Methods
- Generic Queue Vs Non-Generic Queue
- Creating Queue and Accessing and removing the elements
Collections
- Collections and their types
- System.Collections.Generic Classes
- System.Collections Classes
- System.Collections.Concurrent
- Implementing a Collection of Key/Value Pairs
- Sorting a Collection
- Creating Collection and implementing with their types
Collection Class
- Collection class and Characteristics
- Constructors and their properties
- Methods
- Type Parameters
- Enumerator Class and IEnumerator Interface
- Creating Collection classes and implementing with their types
Generics Class
- Generics Class
List implementation
- List implementation
Sorted List
- Sorted List
Hash Set
- Hash Set
Sorted Set
- Sorted Set
Dictionary
- Dictionary
Sorted Dictionary and hash Table.
- Sorted Dictionary
- Hash Table
Linked List
- Linked List
Doubly LinkedList
- Doubly LinkedList
Circular LinkedList
- Circular LinkedList
Namespaces, Static Keywords
- Namespaces
- Static keywords
Work-Centric Approach
The academic approach of the course focuses on ‘work-centric’ education. With this hands-on approach, derive knowledge from and while working to make it more wholesome, delightful and useful. The ultimate objective is to empower learners to also engage in socially useful and productive work. It aims at bringing learners closer to their rewarding careers as well as to the development of the community.
- Step 1: Learners are given an overview of the course and its connection to life and work
- Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
- Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
- Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
- Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
- Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
- Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
- Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
- Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
- Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
- Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
- Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!