Tag: teaching

Entries for tag "teaching", ordered from most recent. Entry count: 35.

Uwaga! Informacje na tej stronie mają ponad 5 lat. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

Pages: > 1 2 3 4 5 >

# Elementarne algorytmy - pomysł na artykuł

22:51
Sun
26
Oct 2008

Dawno, dawno temu wymyśliłem pewien artykuł dla początkujących. Zauważyłem bowiem, że między tematami najczęściej podejmowanymi w nauce programowania - opanowaniem języka programowania i opanowaniem bardziej zaawansowanych tematów, jak biblioteka graficzna czy algorytmika - istnieje pewna luka i wielu adeptów ma z tym problem. Chodzi o 1. podstawowe struktury danych, 2. projektowanie i używanie własnych formatów plików oraz 3. elementarne algorytmy i sztuczki programistyczne.

Dwa pierwsze tematy opisałem w jakimśtam stopniu 4 lata temu w artykule Struktury danych i formaty plików. Trzeci chciałem opisać w ubiegłe wakacje, ale wyjaśnienie wszystkich zebranych zagadnień w dostatecznie dokładny i przystępny sposób kosztowałoby zbyt dużo pracy. Dlatego jedyne co zrobiłem to teraz spisałem wreszcie i opublikowałem sam "projekt" tego artykułu (co samo w sobie było niemałym zadaniem) - Elementarne algorytmy.txt.

Comments | #algorithms #ideas #teaching Share

# Visual C++ - jak zacząć

23:32
Thu
14
Aug 2008

Właśnie zagadał do mnie na Gadu-Gadu jeden z kolegów z Warsztatu z pytaniami, lękami i wątpliwościami na temat przesiadki z Code::Blocks na Visual C++. Odpowiadając uświadomiłem sobie, że Visual, jakkolwiek jest moim zdaniem najlepszym IDE, jest wygodny, potężny, szybki itd., ma pewien problem - nie można w nim od tak zacząć programowania, napisać "Hello World" czy wkleić kod z jakiegoś tutoriala. Na drodze stoją opcje projektu, które w wersjach 2005 i 2008 domyślnie są tak ustawione, że kod się nie kompiluje albo też nie działa na komputerach innych niż programisty. Początkującym można więc polecić proste kroki do wykonania po utworzeniu nowego projektu:

  1. Wejść do opcji projektu - Project > Properties.
  2. Przestawić General > Character Set na Not Set - pomaga na błędy z Unicode, wchar_t itp. dziwnymi hasłami :)
  3. Przestawić C/C++ > Precompiled Headers > Create/Use Precompiled Header na Not Using Precompiled Headers - pomaga na błędy z Stdafx.h.
  4. Przestawić C/C++ > Code Generation > Runtime Library na Multi-threaded Debug (w konfiguracji Debug) i Multi-threaded (w konfiguracji Release) - pomaga na błędy z brakiem plików DLL po przeniesieniu programu na inny komputer.
  5. Dalej warto zgłębić ten temat czytając Warsztat FAQ, bo tam opisałem to dokładniej.

Comments | #teaching #visual studio #c++ Share

# Elementarne algorytmy

11:11
Tue
25
Mar 2008

float t;
for (uint i = 0; i < Count; i++) {
  t = (float)i / (float)(Count - 1);
  Foo(t);
}

Czy da się ten kod napisać lepiej? Ano da się. Zamiast wyliczać zmienną t za każdym razem na podstawie i, można ją zwiększać niezależnie:

float t = 0.0f, t_step = 1.0f / (float)(Count - 1);
for (uint i = 0; i < Count; i++, t += t_step)
  Foo(t);

Dla niektórych to oczywiste, ale każdy musiał się tego skądś nauczyć albo samemu wymyślić. Ja mam na to nazwę "elementarne algorytmy" i uważam, że takich rzeczy nie powinno się poznawać gdzieś przy okazji, ale porządnie spisać i nauczać początkujących programistów.

Mam nawet spisane pomysły na ponad pół setki takich drobiazgów, które możnaby opisać i zacząłem to robić w czasie wakacji 2007 jako nowa wersja mojego artykułu "Struktury danych i formaty plików" (nowy tytuł to "Brakujące ogniwo"), ale dokładne opisanie i zilustrowanie tego wszystkiego przerosło moje możliwości :)

Comments | #c++ #algorithms #teaching Share

# Blender do grafiki dydaktycznej

20:21
Thu
06
Mar 2008

Jeśli znasz Blender albo inny program graficzny 3D, to warto zwrócić uwagę, że za jego pomocą można też łatwo robić ładnie wyglądające schematy dydaktyczne dotyczące grafiki 3D - np. do artykułu, tutoriala czy... pracy magisterskiej :D

Comments | #tools #graphics #teaching Share

# Sonda - najlepszy format artykułów

13:02
Sun
06
Jan 2008

Dawno nic nie pisałem. Co u mnie słychać? Od kilku dni intensywnie uczę się Direct3D 10. Więcej o tym napiszę wkrótce.

Tymczasem przyszła mi do głowy następująca sprawa. Otóż gdybym kiedyś jeszcze miał ochotę napisać jakiś artykuł (czego nie wykluczam, ale też niczego nie obiecuję), to w jakim formacie preferowalibyście go przeczytać? Zapraszam czytelników mojego bloga do głosowania i komentowania.

Comments | #teaching #web Share

# Prezentacja o J2ME

16:20
Sun
30
Dec 2007

Właśnie skończyłem pisanie mojej pracy egzaminacyjnej na jeden z przedmiotów na studiach. Jest to prezentacja do wykładu na temat J2ME, czyli programowania w języku Java midletów na komórki. Omawia bardziej lub mniej dokładnie wszystkie moduły wchodzące w skład standardu MIDP 2.0. Ma 98 slajdów. Nie wiem, czy z samej prezentacji - nie słysząc wykładu - można się dużo nauczyć, ale zapraszam do przeglądania:

Comments | #productions #studies #mobile #java #teaching Share

# Ściąga ze Specular

15:01
Wed
31
Oct 2007

Spodobało mi się to robienie graficznych mini-lekcji z podstawami programowania grafiki :) Napiszcie co o tym sądzicie - może zrobię jeszcze inne.

Tymczasem przygotowałem ściągę ze wzorami na odblask (ang. Specular). Wykorzystuje on, podobnie jak prawo Lamberta, iloczyn skalarny (ang. Dot Product), a dodatkowo używa potęgowania. Są dwie metody liczenia odblasku:

Comments | #math #teaching #rendering Share

# Co to jest Half-Lambert

18:04
Tue
23
Oct 2007

Dziś chciałem wam przybliżyć efekt Half-Lambert. Prawo Lamberta mówi, że jasność powierzchni w danym miejscu jest wprost proporcjonalna do cosinusa kąta między wektorem kierunku DO źródła światła, a wektorem normalnym prostopadłym do powierzchni w tym miejscu. Ten z kolei jest równy iloczynowi skalarnemu (Dot Product) między tymi wektorami, o ile są znormalizowane. W ten sposób działa podstawowy wzór na oświetlenie "rozproszone" (Diffuse). Wygląda dobrze, ale ma tą wadę, że cała połowa powierzchni obiektu - ta zwrócona tyłem do źródła światła - jest kompletnie czarna.

Rozwiązaniem jest Half-Lambert, czyli takie przeskalowanie wyniku iloczynu skalarnego, by każdy fragment powierzchni otrzymał jakieś oświetlenie, z wyjątkiem miejsca zwróconego dokładnie przeciwnie do źródła światła. Wygląda to brzydko i nienaturalnie, ale w pewnych specyficznych sytuacjach może się przydać. Ja na przykład użyłem tego przy renderowaniu liści drzew.

Comments | #rendering #teaching #math Share

Pages: > 1 2 3 4 5 >

STAT NO AD
[Stat] [STAT NO AD] [Download] [Dropbox] [pub] [Mirror]
Copyright © 2004-2018