Programarea în fizică

S.01.A.04   Credite 5

 

Semestrul I
Titular de curs: doctor, coferenţiar universitar Koroli Vlad, e-mail: [email protected]
Eligibilitatea: obligatoriu pentru masterat la specialitătile Fizica
Pre-rechezit: diplomă de licenţă
Structura:
curs teoretic – 30 ore (2 ore săptămînal)
seminar – 15 ore (1 oră săptămînal)
activităţi individuale – 105 ore

Activitati formative
Continutul disciplinei contribuie la realizarea unei calificări superioare a specialistului, asigurând pregătirea teoretică şi practică ale acestuia in domeniul informaticei. Cursul teoretic al disciplinei va conduce la obtinerea cunostintelor necesare pentru crearea classei si ierarhiei classelor si intelegerea tehnicii programării orientate pe obiecte in limbajul de programare C++. Executarea lucrărilor de laborator de către studenti va contribui la formarea capacităţilor de a modela cu ajutorul computerului diferite procese fizice si chimice ale sistemelor cuantice moderne in limbajul de programare C++, formarea abilităţilor de a experimenta utilizând metode numerice si moderne de laborator, precum si analiza proprietatile cuantice importante ale campurilor electromagnetice cu ajutorul tehnicii programării orientate pe obiecte.

Conţinutul cursului
Abstractizarea. Metodologii orientate pe obiecte. Clasificarea obiectelor. Principiile programării orientate pe obiecte: incapsulare, mostenire, polimorfism. Classe si obiecte. Limbaje de programare orientate pe obiecte. Transformare noţiunii de structură. Classa – tipul abstract de date. Definirea unei classe. Ascunderea informaţiei. Declararea unui obiect, instantierea de obiecte. Pointerul implicit this. Pointerul la membrul unei classe. Construirea obiectelor in memorie dinamică. Durata existentii unui obiect. Metode inline. Constructor. Initializarea obiectelor. Destructor. Copierea la initializare. Copiere la atribuire. Functiile friend globale. Functiile membre de tip friend. Classe friend. Conversii standarde. Conversii explicite. Constructor ca operaţia de conversie de tip. Redefinirea metodelor. Apelul metodelor la redefinirea: corespunderea exactă a argumentelor, corespunderea argumentelor prin conversii standarde, corespunderea prin conversii definite de utilizator. Redefinirea functiilor cu mai multe argumente si argumente implicite. Functii – operatii. Regulile redefinirii operaţiilor. Redefinirea operatiilor si conversii de tip. Atribuirea si iniţializarea. Indexarea. Redefinirea operaţiilor new si delete. Introducerea – extragerea datelor de tip standard. Introducerea – extragerea datelor de tipurile definite de utilizator. Manipulatori. Classe de bază. Modurile de mostenire. Classa generată, ierarhie classelor generate. Accesul la datele. mostenite. Legare timpurie (statică) si târzie(dinamică). Implementarea polimorfismului. Definirea metodelor virtuale. Metode virtuale pure. Tratarea traditională a erorilor. Specificarea exceptiilor. Exceptii standarde. Parametrizarea metodelor si classelor. Caracteristica generală a STL (Standard Template Library).

Lista surselor bibliografice obligatorii la curs
Л. И. Турчак Основы численных методов Москва, Наука, 1987, - 320 с.;Аверкин В. П, Бобровский А И, Веснич В. В., Радушинский В. Ф. и Хомоненко А. Д. Программирование на С++. – 2000, - 252 с.; Шилд Г. Теория и практика С++. – СПб: BHV, 1996, - 416 с.; Савич У. Программирование на C++. 4-е изд.  — СПб.: Питер; Киев: Издательская группа BHV, 2004. — 781 с.; Шилдт Г. Искусство программирования на С++.  — СПб.: БХВ-Петербург, 2005 г. – 496 c.; Б. Строуструп. Язык программирования С++. Спб., М: "Невский диалект"–"Издательство БИНОМ", 1999. - 991 с.; Шилд Г. С/C++: Справочник программиста. Москва: Издательский дом “Вильямс”, 2001. – 448 c.; Пол А. Объектно - ориентированное программирование на С++. Спб., М: "Невский диалект"–"Издательство БИНОМ", 1999. - 462 с.; Barr M. Programming embedded systems in C and C++, O’Reilly, 1999. – 448 c.; Ungureanu, D.,  s.a.: Programarea calculatoarelor – indrumar C++, Universitatea Transilvania din Brasov, 2001. Schildt,H.: C++ Manual complet, Editura Teora, Bucuresti, 2001; Negrescu, L.: Limbaje de programare C/C++ pentru incepatori, Vol. I, II, Ed. MicroInformatica Cluj-Napoca, 2000.; Adrian Runceanu – Metode si tehnici de programare – limbajul C++, Editura Academica Brancusi, Targu-Jiu, 2003.; Adrian Runceanu – Programarea orientata pe obiecte: limbajul C++, Editura Academica Brancusi, Targu-Jiu, 2007.

Evaluarea
Activitatea studentului va fi monitorizată la fiecare tip de activitate si va fi apreciata prin note. La sfarsitul cursului va avea loc examenul final (120 min., scris), care va include un test complex de intrebări la nivel de cunoastere, integrare si aplicare a cunostintelor. Nota finala se va constitui din reusita academică demonstrata la lucrarile de control, executate saptamanal (40 %), activitătile individuale (executarea si oformarea lucrarilor de laborator; elaborarea concluziilor etc.) (20 %) si examenul final (40 %).

Onestitatea academică
Lucrând in cadrul acestui curs este important de dezvoltat spiritul de echipă si de lucru in grup. Vă incurajez să vă ajutati reciproc in cadrul seminarelor si activitătilor multimedia, efectuând temele in cadrul activitătilor individuale, dar fiecare temă, activitate sau lucrare prezentată spre evaluare trebuie sa fie una personală. Nu se acceptă plagierea, copierea, utilizarea materialelor din Internet, etc.
Va rog să cititi cu atentie Codul de Etică si Regulamentul studentului UnASM.