Computer-Science

所属分类:图形图像处理
开发工具:C#
文件大小:3924KB
下载次数:0
上传日期:2020-09-07 17:27:15
上 传 者sh-1993
说明:  计算机科学,算法,数据结构,面向对象编程,设计模式,SOLID
(Computer science, Algorithms, Data Structures, Object Oriented Programming, Design Patterns, SOLID)

文件列表:
Computer-Science-develop (0, 2020-09-08)
Computer-Science-develop\ASPNETCore (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\App.config (274, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Controllers (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Controllers\AdminController.cs (4386, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Controllers\ClientController.cs (1822, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Controllers\HomeController.cs (217, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\DAL (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\DAL\rentalContext.cs (7566, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\DVDRentalStore.csproj (1344, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\DVDRentalStore.sln (1108, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Infrastructure (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Infrastructure\DbFactory.cs (222, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Infrastructure\IDbFactory.cs (148, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Migrations (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Migrations\20200515012510_CascadeDeleteEnabled.Designer.cs (9077, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Migrations\20200515012510_CascadeDeleteEnabled.cs (7231, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Migrations\RentalContextModelSnapshot.cs (8990, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\ActorsModel.cs (494, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\ClientsModel.cs (493, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\CopiesModel.cs (478, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\EmployeesModel.cs (310, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\ErrorViewModel.cs (198, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\MoviesModel.cs (631, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\RentalsModel.cs (402, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Models\StarringModel.cs (283, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Program.cs (521, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Properties (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Properties\Resources.resx (4320, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Properties\launchSettings.json (627, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories (0, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories\ClientsRepository.cs (283, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories\CopiesRepository.cs (280, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories\EmployeesRepository.cs (289, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories\IRepository.cs (873, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories\MoviesRepository.cs (280, 2020-09-08)
Computer-Science-develop\ASPNETCore\DVDRentalStore\Repositories\RentalsRepository.cs (283, 2020-09-08)
... ...

## Learning C# (Basics, Algorithms, Design Patterns, Data Structures, SOLID) > *"I am not afraid of a person who knows 10000 kicks. But I am afraid of a person who knows one kick but practices it for 10000 times." - Bruce Lee* ## Contents - [Introduction to Computer Programming](https://github.com/kolosovpetro/Computer-Science/blob/master/#introduction-to-computer-programming) - [Object Oriented Programming](https://github.com/kolosovpetro/Computer-Science/blob/master/#object-oriented-programming) - [Design patterns](https://github.com/kolosovpetro/Computer-Science/blob/master/#design-patterns) - [Data Structures](https://github.com/kolosovpetro/Computer-Science/blob/master/#data-structures) - [SOLID](https://github.com/kolosovpetro/Computer-Science/blob/master/#solid) - [ASP .NET MVC Core](https://github.com/kolosovpetro/Computer-Science/blob/master/#asp-net-mvc-core) - [PostgreSQL and Entity Framework Core](https://github.com/kolosovpetro/Computer-Science/blob/master/#postgresql-and-entity-framework-core) - [ADO .NET](https://github.com/kolosovpetro/Computer-Science/blob/master/#ado-net) - [Information](https://github.com/kolosovpetro/Computer-Science/blob/master/#information) - [Computational Methods](https://github.com/kolosovpetro/Computer-Science/blob/master/#computational-methods) - [Algorithms](https://github.com/kolosovpetro/Computer-Science/blob/master/#algorithms) --- ## Introduction to Computer Programming - **Assignments 1**. Read input from keyboard, Casting variables, Elementary loops - Lecture: https://kolosovpetro.github.io/cs/itcp/01Introduction.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/01Introduction_Exercises.pdf - **Assignments 2**. Proper input verification, Conditional statements [if, switch, ternary operator], Sorting network - Lecture: https://kolosovpetro.github.io/cs/itcp/02Basics.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/02Basics_Exercises.pdf - **Assignments 3**. Enums, String to enum parse, Menu using enum, Switch statement, Stringbuilder, Random - Lecture: https://kolosovpetro.github.io/cs/itcp/03Basics.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/03Basics_Exercises.pdf - **Assignments 4**. Arrays, Bubble sort, Sieve of Eratosthenes, Tic-tac-toe console game - Lecture: https://kolosovpetro.github.io/cs/itcp/04Arrays.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/04Arrays_Exercises.pdf - **Assignments 5**. Structs, Reccursive functions, Tic-tac-toc class segragation - Lecture: https://kolosovpetro.github.io/cs/itcp/05Functions.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/05Functions_Exercises.pdf - **Assignments 5**. Libraries. Creating of class libraries, making reference to them in entry point project and execute - Lecture: https://kolosovpetro.github.io/cs/itcp/05Functions.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/05Functions_Exercises.pdf - **Assignments 6**. Writing to files, Reading from files, Nested loops, Date-time, Creating folders, Value tuples - Lecture: https://kolosovpetro.github.io/cs/itcp/06Streams.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/06Streams_Exercises.pdf - **Assignments 7**. NUnit testing framework [exception test], Documentation, Custom exceptions - Lecture: https://kolosovpetro.github.io/cs/itcp/07Documentation.pdf - Tasks: https://kolosovpetro.github.io/cs/itcp/exercises/07Documentation_Exercises.pdf ## Object Oriented Programming Refer to https://kolosovpetro.github.io/cs/oop/ - **Object-oriented programming 1**. Encapsulation, Getters, Setters, Access modifiers - Lecture: https://kolosovpetro.github.io/cs/oop/OOP_CS_01.pdf - Tasks: https://kolosovpetro.github.io/cs/oop/exercises/Task1.pdf - **Object-oriented programming 2**. Constructors, Constructor flow, This reference - Lecture: https://kolosovpetro.github.io/cs/oop/OOP_CS_02.pdf - Tasks: https://kolosovpetro.github.io/cs/oop/exercises/Task2.pdf - **Object-oriented programming 3**. Inheritance, Overriding, base keyword, Polymorphism, Upcast - Lecture: https://kolosovpetro.github.io/cs/oop/OOP_CS_03.pdf - Tasks: https://kolosovpetro.github.io/cs/oop/exercises/Task3.pdf - Polymorphism types: Ad-Hoc (overload of methods), Parametrical (Generics), Subtype polymorphism (Upcast, downcast) - **Object-oriented programming 4**. Interfaces, implementations - Lecture: https://kolosovpetro.github.io/cs/oop/OOP_CS_04.pdf - Tasks: https://kolosovpetro.github.io/cs/oop/exercises/Task4.pdf - **Project**: Hospital management application, WinForms. Contains all OOP techniques + binary serialization in use - **Object-oriented programming 5**. Operator overriding - Lecture: https://kolosovpetro.github.io/cs/oop/OOP_CS_06.pdf - **Object-oriented programming 6**. Converters - Lecture: https://kolosovpetro.github.io/cs/oop/OOP_CS_07-1.pdf - **Object-oriented programming 7**. Aggregation vs Composition. Definitions and comparisons. ## Design Patterns Refer to website: https://refactoring.guru/design-patterns - **Creational** - Factory Method (Extends functionality of program) - Abstract Factory - Builder (Avoiding huge number of parameters withing object's consturctor. Combination of parameters.) - Prototype (Deepcopy of class) - **Structural** - Decorator (Combines required functionalities) - Bridge - **Behavioral** - Observer (Defines interaction between two or more classes) - Strategy (Extends functionality of program) ## Data Structures - **Implemented data structures** - Dictionary - Graph - Heap - LinkedList - Queue - Stack - Tree - Weighted Graph - Binary Search Tree (in progress. See good visualization: http://btv.melezinek.cz/binary-search-tree.html) - Generic List (in progress) - **To be implemented** - Priority Queue - **What's used** - NUnit UnitTest Framework - Generics - Indexers - IEnumerable interface implementation ## SOLID A set of principles recommended to follow in order to maintain business applications. Contains examples of both convinient and unconviniet examples - **Single Responsibility Principle** - `Do one thing, but do it best` - **Open-Closed Principle** - `App. should be open for extension, but closed for modification`. Usually, solved by pattern `Strategy` - **Liskov Substitution Principle** - `Proper abstractization, where all subclasses correctly implements methods from base class` - **Interface Segregation Principle** - `Clients should not be forced to depend upon interfaces that they do not use.` - **Dependency Inversion Principle** - `High-level modules should not depend on low-level modules. Both should depend on abstractions.` - `Abstractions should not depend on details. Details should depend on abstractions.` ## ASP NET MVC Core - https://github.com/kolosovpetro/Computer-Science/tree/develop/ASP%20NET%20MVC ## PostgreSQL and Entity Framework Core - Code First Approach (Migrations) - Database First Approach (Reverse engineering) ## ADO .NET - Introduction - Active record pattern - Data mapper pattern - Identity map pattern - Treadsafe singleton ## Information - **C# Keywords** - https://github.com/kolosovpetro/Computer-Science/tree/develop/Information/Keywords - **Mutable and Immutable types** - https://github.com/kolosovpetro/Computer-Science/tree/develop/Information/MutablesAndImmutables - **Notes** - https://github.com/kolosovpetro/Computer-Science/tree/develop/Information/Notes - **Nullable structs** - https://github.com/kolosovpetro/Computer-Science/tree/develop/Information/Nullables - **Git pull request guide** - https://github.com/kolosovpetro/Computer-Science/tree/develop/Information/GitPullRequest - **Terminology** - https://github.com/kolosovpetro/Computer-Science/tree/develop/Information/Terminology ## Computational Methods - Numerical Sys. Converter (Guide now not to write code) - System of Linear Equations Solver - Polynomial Interpolation (Vandermonde method) - Discrete Integration (Simpson's, Trapezoidal methods) - Monte Carlo Method (Estimation on the plan finishing time) ## Algorithms Refer to https://kolosovpetro.github.io/cs/data_structures_and_algorithms/ - **Search Algorithms and their benchmark measurements** - Linear Search - Binary Search - **Sort Algorithms and their benchmark measurements** - Bubble sort. Complexity O(n^2) - Cocktail sort. Complexity (Buble 2 pass sort) O(n^2) - Counting sort. Complexity O(n+k), k = non negative terms count - Insertion sort. Complexity O(n) - Merge sort. Complexity O(n*log(n)) - Quick sort. Complexity O(log(n)) - Selection. Complexity sort O(n^2) ## Useful Links - Praparation to MS Exam 70-483: https://habr.com/ru/post/245067/ - Complete `C#` guide: https://metanit.com/sharp/

近期下载者

相关文件


收藏者