Nauka programowanie w C# - Jak przejść na wyższy poziom

0

Witam serdecznie, zanim rozwinę temat chciałbym napisać coś o sobie. Mam 21 lat i jestem na III roku inżynierii Biomedycznej (Informatyka medyczna). Pewnie niewiele osób kojarzy taki kierunek ale ogólnie jest to połączenie medycyny z informatyką. Dodam że po zrobieniu inżyniera na tym kierunku mogę zrobić magistra z informatyki.
Do tej pory na studiach związanego z programowaniem miałem: programowanie w C# kod + aplikacje konsolowe, algorytmy w c++ , programowanie w assemblerze, w tym semestrze mam mikrokontrolery ( Arduino , Bascom ) programowaliśmy też w Matlabie miałem jakieś tam podstawy grafiki 2D 3D, Solidworksa itp. Mam nadzieje że ogólnie nakreśliłem jak wyglądają moje studia. Wiadomo część rzeczy wyżej wymienionych nie było jakoś mega zaawansowane ale pojawiło się.

Przejdźmy do rzeczy. Zdałem sobie sprawę że muszę coś zacząć robić ze swoim życiem i od października zacząłem interesować się programowaniem w C#. Wybór padł na C# ponieważ miałem podstawy tego języka ze szkoły, a jest on o wiele łatwiejszy od C++, czy C.

Moją naukę "zacząłem" od kursu podstawy programowania w C# z tej strony. Jestem już przy końcówce. Szczerze mówiąc spodobało mi się to i wiem że chcę dalej się uczyć w tym kierunku. Codziennie staram się coś zrobić.

Moje pytanie brzmi co dalej jak przerobię sobie ten kurs do końca i dobrze przyswoję informacje w kursie ? Jak uczyć się dalej i czego. Wiem, że platforma .NET towarzyszy C# ale czy to już czas na to czy lepiej dalej zagłębiać się w czyste programowanie ?

Jako że najlepiej człowiek się uczy przez pisanie programów myślałem o zrobieniu jakiegoś projektu, który na pewno by mnie czegoś nauczył. Nie wiem tylko jaki miałby być ten projekt żebym był w stanie to zrobić. Drugą rzeczą jaką chce zrobić to odbyć bezpłatny staż w wakacje w jakiejś firmie (mam nadzieje że mi się to uda)

Jeśli ktoś nie wyłączył mojego postu w połowie czytania tego wypracowania to bardzo proszę o poradę jak i czego uczyć się dalej po zdobyciu podstawowej wiedzy z programowania w C# .
Miałem nadzieje że za rok ( do końca inżyniera) zdobędę wiedzę z prgramowania, która pozwoli mi znaleźć jakąś pracę żeby zdobywać doświadczenie i studiować zaocznie magistra z infy ale z tego co czytam na tym forum to będę miał ciężko z moimi umiejętnościami. Dlatego pewnie jeszcze dojdą te 2,5 roku dziennych studiów z infy. Dodam że jestem przeciętnym człowiekiem, a nie pięknym umysłem :)

Pozdrawiam :)

0

Na początek polecam przerobić trochę zadań ze spoj'a. Głównie ćwiczą algorytmikę (co na pewno nie zaszkodzi), ale pozwalają też oswoić się z językiem na początku. Możesz napisać jakiś program konsolowy typu kalkulator, albo coś z tworzeniem jakiejś prymitywnej bazy osób w pliku tekstowym (zapis i odczyt do pliku osób i jakichś danych na ich temat, wyszukiwanie osób spełniających zadane parametry itd.). A później możesz zacząć myśleć coś o WPF albo ASP.NET zalezy czy wolisz pisać aplikacje desktopowe czy webowe.

0

Najlepiej napisać jakiś program.

Nie wiem tylko jaki miałby być ten projekt żebym był w stanie to zrobić.

A kto ma to wiedzieć?
Wymyśl sobie takie zadanie aby wykorzystywało coś czego dotąd nie robiłeś, nie wiem obsługa plików, baz danych, być może jakiejś zewnętrznej biblioteki.

0

Ok, dzięki Panowie za rady w takim razie dalej będę wałkował ten C# żeby wyciągnąć jak najwięcej a później zajmę się takimi rzeczami jak ASP.NET
Mam jeszcze taką prośbę dalibyście mi radę napisać z doświadczenia o ile tak się da na co najlepiej zwrócić uwagę ucząc się C# (jakieś elementy które są "często używane", a pewnie jeszcze ich nie znam )
Pomogłoby mi to, bo znalazłbym jakiś punkt zaczepienia poza rzeczami które wymieniliście wyżej :)

0

Witam ponownie, udało mi się zmienić temat pracy inżynierskiej na tematykę C# / ASP.NET także będę coś robił związanego z tym tematem. Bardziej skłaniałbym się do zrobienia jakiejś aplikacji internetowej niz pulpitowej także chyba ASP.NET.
Tylko mam taką prośbę bo szukam szukam i nie wiem od czego zacząć naukę robienia takich aplikacji internetowych. Jak się zabrać do tego ASP.NET ? Co trzeba umieć poza C#, bo czytałem że bazy danych, i znać podstawy html, css, java script. Póki co znam podstawy C# także ciężko mi jest wyobrazić sobie resztę dlatego proszę o jakieś ukierunkowanie.

0

Dzięki bardzo za linka @somekind. Obejrzałem już kilka filmików i naprawdę można się sporo dowiedzieć. Kupiłem też książkę do ASP.NET MVC 4 także będę atakował.
Przez miesiąc czasu stałem się troszkę "mądrzejszy" i mam do Was pytanie kiedy jest odpowiedni moment żeby przerzucić się typowo do uczenia się MVC4? Chodzi mi o to w jakim stopniu powinienem znać sam C#? Cały czas poznaje te podstawy choćby przez ostatnie kilka dni wałkuje delegaty i średnio mi wychodzi zrozumienie wszystkiego jak co działa tak jak choćby interfejsy. Także mam za sobą czyste podstawy bez żadnych małych programików napisanych przeze mnie którymi mógłbym się pochwalić.
Czy warto jest teraz zacząć się uczyć MVC 4 czy lepiej jeszcze przez kilka miesięcy doszlifować C# żeby czuć się z niego pewniej.
Dodam że MVC 4 muszę się uczyć bo mam do napisania internetową aplikacje gabinetu lekarskiego właśnie w tych technologiach na pracę inżynierską którą muszę zrobić przez niecały rok czasu.

1

Moim zdaniem jak ogarniesz OOP, to można przejść na MVC.
Ale do tego też potrzebujesz podstaw HTML, CSS, JS.

0

Moim zdaniem jak ogarniesz OOP, to można przejść na MVC.
Ale masz na myśli to że muszę sprawnie posługiwać się wszystkimi/większością elementów OOP w jakiś prostszych programach, czy wystarczy znać na 4 - 70% elementów np. wymienionych na tej stronie Rozdział 5,
a fragmenty które sprawiają mi trudność wiedzieć jak wyglądają i po co się ich używa, rozumieć też przykłady na których się ich uczyłem ale to jeszcze nie czas żeby napisać własny program używający np delegat ?

P.S Czy konieczne jest żebym zagłębiał się w WinForms ?

0

Patrząc na nagłówki rozdziałów to należałoby jako tako znać 4-18.
Nie potrzebujesz delegatów na razie, a Winforms moim zdaniem nie jest konieczny. Ja się w niego nigdy nie zagłębiłem, wolałem WPF.

1
RideorDie napisał(a):

P.S Czy konieczne jest żebym zagłębiał się w WinForms ?

Absolutnie nie.

Ale nie da się pisać we frameworku dla języka, nie znając tego języka. Musisz umieć C#, zanim zaczniesz się uczyć MVC, w przeciwnym wypadku będzie to dla Ciebie droga przez mękę.
Musisz umieć:

  • zmienne i metody (argumenty wywołania, zwracanie wartości);
  • instrukcje sterujące, iteracyjne (pętle), itd.
  • klasy (statyczne i niestatyczne), obiekty, interfejsy - oczywiście dziedziczenie, polimorfizm, hermetyzacja;
  • typy wartościowe i referencyjne, rozumieć jak zachowują się przy przekazywaniu do metod;
  • jak działa typ string;
  • IDisposable i using;
  • tablice, kolekcje (listy, słowniki);
  • atrybuty;
  • operacje na plikach i strumieniach (tworzenie, otwieranie, czytanie, zapisywanie);

Delegaty raczej nie są takie ważne, w MVC się ich prawie nie stosuje, no ale z drugiej strony, to tylko wskaźnik do metody, jeśli tego nie łapiesz, to może być Ci trudno z innymi rzeczami.

Na początku lepiej skupić się na programikach konsolowych.

0

Dzieki za rozjaśnienie tematu. W takim razie doszlifuje jeszcze C#.

0

Zacząłem już jednak uczyć się ASP.NET z książki ASP.NET MVC 4 Zaawansowane programowanie Adam Freeman. I powiem szczerze że dla mnie to trochę rozpierdol się zrobił ;p Nagle pojawiły się kolekcje, interfejsy, delegaty, wyrażenia lambda, LINQ i to jeszcze połączone ze sobą :P. W sumie spoko ale trochę zasmuciło mnie to że mało tego konsolowego C# się zrobiło i masa wszystkiego innego naraz. Boję się przewracać na następną stronę ;P
Chciałem się zapytać na podstawie waszych doświadczeń czy teraz naglę muszę to wszystko wiedzieć np te wyrażenia lambda, LINQ (zdaję sobie sprawę że będę to musiał umieć) czy mogę trochę to teraz traktować z przymrużeniem oka nie wgłębiając się we wszystkie tajniki tylko zająć się wertowaniem dalszych stron.
Dajcie jakieś wskazówki proszę. Ja się uczę z książki więc za koleją.. Jak Wy zaczynaliście ?
P.S Wiem, że bez sensu jest przewracanie kartki na następną bo pojawił się dziwny znaczek czy dziwna składnia i nie robię tak tylko szukam informacji na ten temat. Dopiero jak zrozumie kod to idę dalej.

2

Bo trochę poleciałeś po bandzie IMO. ASP.NET MVC to bardzo fajny framework upraszczający sporo rzeczy ale w dalszym ciągu wymagający wiedzy wykraczającej poza podstawową żeby zrozumieć niektóre konstrukcje. Sporo się tam dzieje rzeczy które wymagają sporej biegłości w programowaniu obiektowym i znajomości konstrukcji i elementów języka(typy anonimowe, wyrażenia lambda,metody rozszerzające, atrybuty, kolekcje, klasy generyczne). Wyrażenie lambda to w C#i LINQ jedne z podstawowych rzeczy więc jeśli ich jeszcze nie ogrniasz to lepiej żebyś wrócił do konsoli i poćwiczył samo LINQ , LINQ w połączeniu z bazą danych (Entity Framework). Bo bez tego to szkoda twojego czasu i frustracji.

0

Mam takie pytanie czy ucząc się MVC 4 muszę znać też ADO.NET ? Bo oglądam sobie teraz tutorial z mvc na yt i wszystko było pięknie do czasu jak gość zaczął używać ADO.NET.. Czy to jest jakiś alternatywny sposób tworzenia aplikacji, czy nie - i muszę to znać ? Już mi się tak podobało to znowu coś :(

0

W gołym ADO.NET gość pisze? :-DDD

Weź jakąś porządną książkę Pro ASP.NET MVC 5. To nie dość, że się nauczysz frameworka, przypomnisz sobie te "trudniejsze" konstrukcje językowe i do tego książka ta jest nastawiana na naukę dobrych praktyk - pisanie testów, wstrzykiwanie zależności, etc.

Do tego weź jakąś normalną książkę do jakiegoś ORMa, np. NHibernate in Action i się nauczysz używać baz danych w Twoich aplikacjach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1