Neautentificat.
Intentionez sa incep un curs de C++. Scopul repectivului curs este de a permite participantilor atingerea unui nivel mediu in cunoasterea limbajului si a tehnicilor de programare folosite in aplicatiile comerciale moderne.
Am postat acest anunt inainte de a incepe sa lucrez la tutoriale pentru a vedea daca sunt doritori, nu vreau sa ma chinui degeaba deoarece va presupune un efort destul de mare din partea mea
Continutul cursului va fi, in mare:
- Introducere in sabloane (templates)
- Iteratori
- Smart pointers
- function objects (functors)
- Introducere in STL (containere si algoritmi generici)
- Reguli si exemple privind crearea unui container compatibil STL
- Tehnici de programare uzuale folosind sabloanele: traits, curiously recursive template, policy based design, typelists, compile time polimorphism, static (compile time) asserts
- Introducere in "template metaprogramming"
- introducere in sabloane de proiectare (design patterns)
- introducere in programare moderna C++ folosind librariile boost: ce e boost si ce legatura are cu viitorul standard C++
- programare multithreaded portabila, sincronizari folosind librariile boost:thread, boost::bind si boost::signal, futures
- introducere in programarea client-server portabila in C++ folosind boost::asio: diferenta intre modelul sincron si asincron, alternative in proiectare design-ului in programarea client-server, SSL
- expresii regulate folosind boost::regex
- accesul portabil la sistemul de fisiere folosind boost::filesystem
- discutii despre ce va contine viitorul standard C++
Nota: mai sus, cand spun portabil ma refer la portabilitatea intre sisteme de operare (Unix/Linux - Windows)
Cine doreste sa urmeze un astfel de curs sa trimita mesaj, si, daca se strang minim 3 participanti putem incepe cursul.
Precum se poate observa, cursul urmareste sa acopere o plaja larga de subiecte si probabil va dura cateva luni bune.
Acesta nu este un curs de introducere in programare. Participantii trebuie sa aiba cunostinte elementare despre C++, precum: functii inline, mostenire, polimorfism, functii virtuale, supraincarcarea operatorilor, RTTI ... altfel nu vor fi capabili sa urmareasca lectiile.
Offline
Eu ma bag ![]()
Nu am lucrat in C++ mai deloc dar am lucrat suficient in alte limbaje ca sa-mi fie usor sa inteleg notiunile noi ![]()
As avea totusi cateva intrebari:
- Care va fi platforma de predare ? UNIX sau Windows ?
- Ce IDE se foloseste ?
- Care va fi intervalul pus la dipspozitie pentru asimilarea cunostintelor (pauza dintre lectii) ?
Offline
Vor fi 2 lectii pe saptamana.
Sursele prezentate ar trebuie sa fie portabile cel putin pe Linux/Windows.
Eu personal voi folosi un sistem Linux x64, toate exemplele vor fi date pentru Linux.
In curs voi arata cum se compileaza exemplele din consola, pe sistemul meu (uneori folosind make sau bjam pentru exemplele care contin mai multe fisiere sursa), dar fiecare va fi liber sa foloseasca ce IDE vrea cu conditia sa stie sa si-l configureze singur.
Nu voi prezenta cum se compileaza exemplele pe Windows sau cum se folosesc diverse IDE-uri, se va considera ca participantii vor fi capabili sa isi configureze IDE-ul preferat corect. Acasa nu am acces la un sistem Windows iar la serviciu folosesc doar Metrowerks CodeWarrior, pe care ceilalti participanti nu cred ca il folosesc.
De asemenea, se considera ca participantii stiu sa utilizeze un debugger (poate va fi cazul sa folosim pe perioada cursului)
Inca un lucru: la un moment dat, participantii vor trebui sa compileze libraria boost (pe windows se pot si instala binarele gata compilate cred). Acest proces este documentat in help-ul boost-ului si nu voi acoperi acest lucru.
Participantii vor avea nevoie de un compilator conformant cu standardul ANSI C++ 98. Detalii privind ce compilatoare sunt suportate de catre boost gasiti la: http://www.boost.org. Atentie, nu veti putea folosi compilatoare antice gen Turbo C++. Visual C++ 6.0 are suport limitat, insa nu recomand sa fie folosit, mai ales ca are nonconformitati in implementarea STL.
Cei care lucreaza pe sisteme linux/unix se considera ca vor sti cum se compileaza si cum se instaleaza o librarie pe sistemul respectiv.
Offline
Si eu sunt doritor
. Chiar foarte
pentru ca am vazut lucruri in cuprins care nici nu se discuta la liceu in prezent.
Offline
^nici nu prea are cum sa se discute din moment ce nici ceea ce este in programa nu se discuta asa cum ar trebui
(
... Anyway, as vrea si eu sa ma straduiesc sa pricep macar ce o sa se discute ![]()
Offline