• Nie Znaleziono Wyników

Sylabus

N/A
N/A
Protected

Academic year: 2021

Share "Sylabus"

Copied!
3
0
0

Pełen tekst

(1)

==================================================================== "Chodzi mi o to, aby język giętki

Powiedział wszystko, co pomyśli głowa: A czasem był jak piorun jasny, prędki, A czasem smutny jako pieśń stepowa, A czasem jako skarga nimfy miętki, A czasem piękny jak aniołów mowa... Aby przeleciał wszystka ducha skrzydłem. Strofa być winna taktem, nie wędzidłem."

-Juliusz Słowacki (z książki Beniowski. Poema) ==================================================================== Andrzej Baran

Paradygmaty i języki programowania 2012/2013 Informatyka II ==================================================================== Wykład: 30 godzin Laboratorium: 30 godzin Wymagania wstępne Podstawy logiki

Podstawy teorii mnogości Podstawy algorytmiki

Podstawy języka C, Pascal, C++, Java lub innego Treść zajęć

==================================================================== Krótka historia języków programowania

A. Pojęcia wstępne:

składnia i semantyka języków programowania analiza leksykalna i składniowa

nazwy

typy i konwersja typów struktury kontrolne

przekazywanie parametrów do podprogramów abstrakcyjne typy danych

przeciążanie operatorów i metod polimorfizm

B. Programowanie imperatywne: zmienne

wyrażenia

struktura blokowa

wiązanie statyczne i dynamiczne podprogramy

organizacja wywołań podprogramów

przydział pamięci na stosie i na stercie przykłady z języka C

C. Programowanie obiektowe: abstrakcyjne typy danych klasy

dziedziczenie polimorfizm

dynamiczne wiązanie

przykłady z języków C++, Java D. Programowanie w logice: rachunek predykatów w Prologu listy

E. Programowanie funkcyjne: funkcje jako model programowania Churcha rachunek lambda

(2)

nadawanie typów rekursja

leniwa ewaluacja funkcje wyższego rzędu

przykłady z języków Lisp, Clojure, Haskell F. Obliczenia współbieżne i rozproszone G. Obliczenia kwantowe - elementy Literatura

==================================================================== R. Sebesta: Concepts of Programming Languages: Addison-Wesley, 2011. B. Tate: Siedem języków programowania, Helion, 2012. (B. Tate: Seven Languages in seven weeks. Pragmatic Programmers, 2010)

M. L. Scott: Programming Language Pragmatics. Morgan Kaufmann Puplishers, Amsterdam, 2006 (Edycja 2)

Stanford Engineering Everywhere, Introduction to Computer Science | Programming Paradigms: http://see.stanford.edu/see/courses.aspx --> Programming paradigms --> Lectures (by J. Cain) --> ... (Kurs

multimedialny; dostępny również na YouTube; język angielski; około 27 godzin wykadów)

J. Bylina, B. Bylina: Przegląd języków i paradygmatów programowania. Skrypt. Lublin 2011.

B. Stroustrup: http://www.stroustrup.com + Książki: C++; (fragmenty podręcznika obowiązkowe)

J. Gosling, H. McGilton: The Java Language Environment. A White Paper, October 1995, A Sun Microsystems.

K. Arnold, J. Gosling: The Java Programming Language. Addison Wesley, 2005; Java, Wydawnictwa Naukowo -- Techniczne, Warszawa.

R. Bird: Introduction to Functional Programming using Haskell. Prentice Hall, 1988.

J. Reynolds: Theories of Programming Languages. Cambridge University Press, 1998.

Literatura dodatkowa

==================================================================== R. Penrose: Nowy umysł cesarza. PWN, Warszawa 1995 - Rozdzialy 1-4. Z książki: Matematyka współczesna, Dwanaście esejów. Pod

red. L. A. Steana. WNT, Warszawa 1983, Rozdział: Czym jest obliczanie, wg. M(artina) Davisa, str. 261.

P. Van Roy, S. Haridi: Concepts, Techniques, and Models of Computer Programming. MIT Press, 2004.

K. Slonneger, B. L. Kurtz: Formal Syntax and Semantics of Programming Languages, Addison-Wesley, 1995. (Rozdział 5: Lambda calculus) ==================================================================== ĆWICZENIA LABORATORYJNE

30 godzin

==================================================================== Ilustracja wykładanych zagadnień z użyciem języków:

ruby, python, ... io scala prolog clojure erlang haskell ...

(3)

ZADANIA

Co każde 2 tygodnie zmienia się język programowania.

Zadaniem studenta jest samodzielne poznanie podstaw nowego języka i sporządzenie właściwej notatki na ten temat. Notatka stanowi jedną z podstaw zaliczenia ćwiczeń.

Zadania programistyczne będą ogłaszane albo przez prowadzącego zajęcia w laboratorium albo w internecie.

W laboratorium Studenci realizują aktualne zadania programistyczne. Oceny otrzymane w trakcie realizacji ćwiczeń są podstawą zaliczenia. Obecność w laboratorium jest obowiązkowa i stanowi jeden z warunków zaliczenia ćwiczeń.

Cytaty

Powiązane dokumenty

ROCZNIK NAUKOWY WYDZIAŁU ZARZĄDZANIA W CIECHANOWIE 3-4

Define no-arg constructor (constructor which takes no arguments), which would assign 0 to the attribute n, which store information about pre- sent number of elements in the pile,

Spełnione jest założenie o normalności >> do weryfikacji hipotezy o średnich wybieramy test t. origin=1, origin=3) Sprawdzenie normalności. mpg dla origin=1 mpg dla origin=3

Here, the stderr portion of the command is sent to stdout, if you pipe to less, you'll see that lines that normally 'dissapear' (as they are written to stderr) are being kept

– Unikamy pytania „a jeśli…?”, piszemy tylko to co jest Unikamy pytania „a jeśli…?”, piszemy tylko to co jest potrzebne w danej chwili, trzymamy się kart zadań potrzebne

." 4565457859 :;?@A=B :C DEEFG HE IJKLMI NOJPMQRSP KTROM MIJ SJU VW SJQXITROYPZ[\] ^JXQRSKL ]__Q`J _RY VOYRaJZ bRaJSIKXJSc d@> ;ef@ghijgkl =m B n C HopqG rRYMKLQMs MYJStP QS

• Create a GeoConverter.aspx WebForm for converting the geographical coordinates between the decimal and degrees minutes seconds format. • The user enters and submits the

– Do not display the form if the cookie with login is present – Add a link and a WebForm to delete the cookie. – A link displays the login from