2009-04-21 9 views
12

Moja przyjaciółka jest zainteresowana nauką programowania komputerów, ale nie wie nic o programowaniu. Zasugerowałem, że Python może być dobrym językiem na początek, ale po kilku badaniach nie mogłem znaleźć żadnych tutoriali, które obejmowałyby zarówno programowanie, jak i Python w odpowiedni sposób.Samouczki do programowania dla osób z zerowym doświadczeniem

Nie chcę, żeby przeszła przez nużące "rutynowe algorytmy nauki w pseudokodowej". Zamiast tego chciałbym samouczek, który wyjaśni podstawowe idee podczas pracy nad prawdziwym celem, np. bardzo prosta gra konsolowa.

Czy ktoś wie o takich tutoriali? Myślisz, że się mylę w tym, jak sobie z tym radzę? Czy Python jest złym wyborem? Wiem, że coś takiego jak C, C++ lub Java nie będzie działało - zbyt wiele szczegółów przyniesie odwrotny skutek. Z drugiej strony uważam, że Lisp może być zbyt matematyczny i abstrakcyjny. Python, z drugiej strony, pozwoli jej nawet zrobić coś w rodzaju kodowania prymitywnych gier graficznych w krótkim czasie.

+0

Duplikat http://stackoverflow.com/questions/207701/python-tutorial-for-total-beginners i myślę, że są też inni. –

+0

Możesz także rozważyć "Mały Schemat". Jeśli sobie przypominam, książka została napisana dla nie-programistów jako interesujące wprowadzenie do programowania komputerowego. –

Odpowiedz

0

Poinformuj ją, żebym kupił książkę Head First C# i nie oglądał się za siebie. Zawiera między innymi trzy laboratoria, dla których nie można znaleźć kompletnych rozwiązań (mają forum dyskusyjne do zadawania pytań); Czytelnik ma pewien kod i wymagania, a następnie do nich należy implementacja pozostałych. Ostateczne laboratorium prowadzi czytelnika do budowania własnych najeźdźców przestrzeni.

Przeprosiny to nie jest odpowiedź pytona, tylko umieszczenie go tam jako innej możliwości.

0

Polecam small-basic dla kogoś, kto ma zerowe doświadczenie w programowaniu, jest bardzo przyjazny dla początkujących. ALE nie ma zbyt wielu tutoriali, jeśli chcesz jej w tym pomóc, to myślę, że to świetny punkt wyjścia.

Nie wymaga wizualnego studio, to tylko jedno proste pobranie i można natychmiast rozpocząć programowanie w prostym IDE. Jednym z ostrzeżeń jest to, że wciąż jest na etapie CTP, jeśli martwisz się o te rzeczy.

0

Szczerze, mam wątpliwości co do tego, czy nowi programiści powinni zajmować się zarządzaniem pamięcią, czy nie. Sądzę, że powinni skontaktować się z C na wczesnym etapie, być może, aby uniknąć "Perils of Java schools". W każdym razie myślę, że Python jest w porządku.

Uważam, że oficjalny python documentation jest bardzo pomocny.

0

Tylko częściowa odpowiedź, ale myślę, że Python to doskonały wybór - gdy ktoś pyta mnie o dobry język dla początkujących, to ten, który polecam.

Jedyny tutorial, który przychodzi mi na myśl, to http://docs.python.org/tutorial/, ale myślę, że jest on nastawiony głównie na ludzi z doświadczeniem programistycznym.

Przy niewielkiej stycznej: możesz zrobić tylko wyjaśnić podstawy, tj. W jaki sposób programy są sekwencjami instrukcji, które komputer śledzi po kolei, a gdy twój znajomy zobaczy, jak to działa (może możesz pokazać jej, jak pisać Hello World), po prostu pozwól jej majstrować. Być może mógłbyś pokazać jej dokumentację, żeby wiedzieć, jak to wygląda, ale może to być trochę przytłaczające dla początkującego ...

+0

hmm, ktoś wydaje się trochę mściwy ... –

6

Książka Think Python (która wcześniej nazywała się) jest fantastycznym wprowadzeniem.Wyjaśnia, czym jest programowanie i jak to się robi, i wprowadza wszystkie pojęcia za pomocą kodu, który czytelnik może uruchomić na linii poleceń.

3

Zacząłem nie tak dawno temu z MIT's Introduction to Computer Science and Programming. Jest to naprawdę wstęp do Pythona, ale daje pomysł na komp. sci. koncepcje po drodze. Na stronie znajduje się wiele świetnych linków i zasobów oraz zabawne projekty zabawek, które można wypróbować. Czytałem większość materiału w długi weekend, a następnie spędziłem około tygodnia i pół, wykonując większość zadań, ale pracowałem nad tym mniej więcej w pełnym wymiarze godzin.

Nawiasem mówiąc, myślę, że masz rację w polecaniu Pythona. Niektórzy (starsi) ludzie naprawdę narzekają na to, że zaczynają od języka wysokiego poziomu, ale jest to świetny sposób na rozpoczęcie nauki, szczególnie w czasach, gdy ludzie wchodzą do komputerów programowania przez drzwi korzystania z komputerów (jako przeciwnicy wejścia przez drzwi z, powiedzmy elektrotechnika).

0

Przepraszam, ale bez wcześniejszego założenia w zakresie podstawowych metod algorytmicznych, prawie wszystko poza HelloWorld będzie prawdopodobnie wyjątkowo frustrujące i odpychające.

+0

Podstawowe pętle i manipulacja ciągami nie są tak trudne. – guns

0

Python to dobry wybór. Nie sądzę, żeby seplenienie było "zbyt matematyczno-abstrakcyjne", jak to określasz. Dobrą alternatywną opcją do rozważenia dla osoby rozpoczynającej ten sposób jest parowanie książki How To Design Programs ze środowiskiem (zorientowanym pedagogicznie) Dr. Scheme. Oba są zaprojektowane z myślą o absolutnie nowych przybyszach.

Jest to na wiele sposobów ładniejszy/czystszy system niż Python, ale także pozwala jej szybko tworzyć razem zawartość graficzną itp. W szczególności dla kogoś, kto nie ma doświadczenia (a więc nie ma z góry założonych pomysłów na to, czego się spodziewać) i/lub nie ma szczególnej potrzeby "bycia głównym nurtem", może to być bardzo skuteczne pierwsze środowisko.

1

Czytałem gdzieś, że seria Head First ma wyjść z nową książką do wprowadzenia do programowania (przy użyciu języka python). Myślę, że powinieneś całkowicie to sprawdzić, kiedy stanie się dostępny. Jestem pewien, że zapewni to doskonałe wprowadzenie do każdego początkującego bez wcześniejszego doświadczenia.

+0

Zawsze czytałem jedną z serii Head First, ale była to jedna z najlepszych. nauczanie książek, które kiedykolwiek czytałem. Mnóstwo kruchych puchów w nim także, ale nie przy poświęceniu prawdziwego materiału. Z mojego (choć ograniczonego) kontaktu z tymi książkami bardzo je polecam. – Dinah

0

mogę zejść modded za to, ale nie wiem dlaczego VB.NET nie będzie dobrym wyborem. Naprawdę nie ma wystarczającej ilości informacji i wiedzy ani jej głębi wiedzy. Trudno uwierzyć, że ma dużo głębi, ale nie ma nawet wiedzy o prymitywnym programowaniu. Nawet zaczynające się książki o informatyce mają pseudokodowane i rzeczywisty kod początkowy.

Wiem, jak programować i chciałem się nauczyć Pythona, ale gdy spojrzałem, znalazłem wiele zasobów, które były "twarde" i których nie dałbym początkującym. Czytałem wiele osób, które mówią najpierw o Pythonie, ale nie rozumiem. To nie znaczy, że mam rację, dokładnie tak, jak to przeczytałem.

Domyślam się, że potrzebuje czegoś po angielsku i zawiera wiele artykułów dla początkujących. BASIC jest nazywany podstawowym z jakiegoś powodu. Jestem pewien, że można argumentować za C#, ale Visual BASIC wydaje się być odpowiedni dla początkujących i nie oznacza to, że VB.NET jest tylko dla początkujących. To głupie. Możesz zrobić z nim wszystko, co jest odpowiedzią na ostatnią połowę pytania, jakie ma OP.

Java również będzie w porządku. Mnóstwo rzeczy dla początkujących.

1

Niektórzy znajomi mają jasnego ośmiolatka, który właśnie dostał MIT's Scratch jako pierwszą wycieczkę do programowania. Wygląda na to, że oferuje natychmiastową graficzną informację zwrotną, a "składniki kodu" "plug-together" to dobry sposób na uniknięcie początkowych uciążliwości "błędów składni", które mogą odstraszyć nowicjuszy, ale bez dumbingowania rzeczy do tego stopnia, że ​​nie ma "myślenia programisty" zaangażowany.

Update: Kilka miesięcy na, i właśnie wtedy, gdy myśleliśmy, że może być znalezienie Scratch nieco ograniczające i być chętni do studia na coś jak Python, idą i odkryć BYOB który ogromnie rozszerza możliwości Scratch (Build Your własne bloki komponentów, wielowątkowość ...). Wygląda na to, że trochę czasu to przerosną. Zastanawiam się, czy patrzę na wczesnego użytkownika z pokolenia, który nigdy nie zrobi programowania w "liniach kodu", tak jak go znam, a preferowanym środowiskiem programistycznym będzie coś bardziej przypominającego AppInventor.

Powiązane problemy