38,00 zł
Skrypt zawiera wiadomości z podstaw programowania obowiązujące na studiach informatycznych. Układ treści odpowiada programowi wykładów, które autor prowadzi na Wydziale Matematyki i Informatyki Uniwersytetu Warmińsko – Mazurskiego w Olsztynie. Celem skryptu jest pomoc studentom w nauce zasad rozwiązywania zadań za pomocą komputera. Dotyczy to przede wszystkim: projektowania struktury danych, opracowania algorytmu, oceny jego efektywności obliczeniowej, stosowania odpowiednich technik i narzędzi programowania. Omówiono również zakres zastosowań, metody i narzędzia inżynierii oprogramowania – nauki o optymalnych sposobach tworzenia złożonych systemów informatycznych. Jako narzędzie do przedstawiania algorytmów opisano język Pascal – łatwy do zrozumienia, wystarczający do rozwiązywania wielu problemów. Opis języka uzupełniono zadaniami stanowiącymi ilustrację pojęć teoretycznych przedstawionych w pierwszych rozdziałach, dotyczących konstrukcji oraz metod implementacji różnego rodzaju algorytmów.
PRZEDMOWA
WPROWADZENIE
Podstawowe definicje
Odwrotna notacja polska
Paradygmaty programowania
Kodowanie symboli, tekstów, licz w komórkach komputera
Przekształcenie liczb z jednego systemu pozycyjnego na inny
Kodowanie symboli, teksów
Kodowanie liczb całkowitych
Kodowanie liczb rzeczywistych
Struktura i wykonanie komend maszynowych
Krótka historia języków programowania
Translatory
Narzędzia informatyczne
Klasyfikacja oprogramowania komputerów
Proces rozwiązywania problemów prostych
Zadania do ćwiczeń
ALGORYTMY, METODY OPISYWANIA ALGORYTMÓW
Klasyfikacja algorytmów
Pseudokod
Schematy blokowe
Tablice decyzyjne
ZŁOŻONOŚĆ I EFEKTYWNOŚĆ OBLICZENIOWA ALGORYTMÓW
Klasy złożoności problemów kombinatorycznych
Algorytmy przybliżone, metod typu Monte Carlo
Algorytmy przybliżone
Rozkłady jednostajne i normalne wartości losowych
Generatory wartości losowych
Przykład obliczania całki oznaczonej metodą typu Monte Carlo
Analiza porównawcza algorytmów rekurencyjnych i iteracyjnych
STRUKTURY DANYCH
Proste typu danych
Strukturalne typy danych
METODY IMPLEMENTACJI ALGORYTMÓW
Podstawowe konstrukcje programistyczne
Zasady ogólne dotyczące implementacji algorytmów
Modularyzacja algorytmów
Struktury blokowe (zasięg ważności deklaracji obiektów)
Implementacja algorytmów z wykorzystaniem proceduralnych języków programowania
Podstawowe pojęcia programowania obiektowego
Obiekty w życiu codziennym
Obiekt jako pojęcie informatyczne, klasy obiektów
Zasady implementacji algorytmów w językach programowania obiektowego
Metody weryfikacji poprawności programów
PODSTAWOWE OPERACJE WYKONYWANE NA LISTACH DANYCH
Wyszukiwanie danych w ciągu uporządkowanym
Sortowanie danych
Proces sortowania danych
Sortowanie bąbelkowe
Sortowanie poprzez selekcję
Sortowanie przez wstawianie
Sortowanie szybkie (QuickSort)
Scalanie ciągów uporządkowanych
Sortowanie zewnętrzne (plików)
Generowanie permutacji losowych
Problemy i metody szeregowania
JĘZYK PROGRAMOWANIA PASCAL
Wprowadzenie, alfabet języka i struktura programu
Typy danych
Deklaracje
Deklaracja etykiet
Deklaracja stałych
Deklaracja typów
Deklaracja zmiennych
Instrukcje
Rodzaje instrukcji
Instrukcja przypisania
Instrukcje wywołania procedur, wprowadzenia/wyprowadzenie danych
Instrukcja złożona
Instrukcje warunkowe IF i CASE
Instrukcje określania pętli FOR, WHILE, REPEAT
Procedury i funkcje
Deklaracje oraz przykłady zastosowań procedur i funkcji
Sposoby porzucenia pętli, procedury programu
Typy strukturalne
Pojęcie typu strukturalnego
Tablice
Rekordy
Zbiory
Pliki
Deklaracja pliku
Procedury stosowane do wykonania operacji na plikach
Zadania ćwiczeń
Dynamiczne struktury danych
Deklaracja zmiennych dynamicznych
Organizacja struktur danych w postaci stosów i kolejek
Moduły, biblioteki procedur i funkcji
Deklaracja i użytkowanie modułów w Turbo Pascal
Opis modułów Turbo Pascal
Podstawowe procedury i funkcje modułu GRAPH
Programowanie obiektowe w systemie Turbo Pascal
Zasady deklaracji, reguły posługiwania się obiektami w Turbo Pascal
Hermetyzacja w programach TP (dyrektywy Private i Public)
Zasady realizacji dziedziczenia w obiektach Turbo Pascal
Zlecenia edytora tekstu systemu Turbo Pascal
PODSTAWY PROGRAMOWANIA W JĘZYKU JAVA
Wprowadzenie
Uwagi ogólne
Porównywanie Javy z innymi językami programowania
Instalacja środowiska pracy NetBeans IDE 6.0
Składowe projektów tworzonych w NetBeans IDE 6.0
Główne koncepcje, architektura systemu programowania w języku Java
Projektowanie i wykonanie programów na podstawie koncepcji obiektywności
Niezależność od architektury
Sieciowość, możliwości programowania rozproszonego
Kontrolowanie popełnianych błędów
Architektura systemu programowania Java
Podstawowe typy danych
Liczby całkowite
Liczby rzeczywiste
Znaki, łańcuchy znaków
Zmienne, stałe, wyrażenia
Operatory Javy, zapis wyrażeń
Instrukcja przypisanych
Instrukcja złożona (blok)
Instrukcje warunkowe
Instrukcja iteracyjna for
Instrukcja iteracyjna while
Instrukcja iteracyjna do – while
Instrukcje break i continue
Instrukcje throw i try – catch – finalny
Rodzaje klas, zasady ich definicji oraz użytkowania
Definicja klas
Definicja pól danych klasy
Definicja metod klasy
Opis modyfikatorów klas, metod i pól
Zmienne obiektowe, konstruktory
Referencje do samego siebie z wykorzystaniem opcji his
Klasy kontenerowe, wewnętrzne, lokalne
Inicjator statycznych pól danych
Dziedziczenie
Usuwanie obiektów Javy – garbage collection
Klasy abstrakcyjne
Klasa String
Klasa Math
Interfejsy
Wyjątki
Definicja wyjątku
Zasady definicji i zgłaszania wyjątków
Przechwytywanie i obsługa wyjątków
Ogólny opis biblioteki, pakietów Javy
Operacyjne wprowadzania/wyprowadzania danych
Statystyczne metody wymiany danych
Klasy I/O strumieni bajtowych
Przesyłanie strumieni bajtowych z filtrowaniem danych
Klasy DatalnputStream, DataOutputStream
Klasy I/O strumieni znakowych w standardzie Unicode
Buforowanie jako metoda zmniejszania liczby odwołań do urządzeń zewnętrznych
Wyodrębnianie składowych w łańcuchach znaków
Klasa File oraz inne przydatne klasy pakietu java.io
Aplety Javy
Przeznaczenie, schemat budowy apletu
Cykl życia apletu
Przykład tworzenia oraz wykonania apletu
Oprogramowanie JFC (Java Foundation Classes)
Opis zawartości JFC
Narzędzie graficzne AWT
Komponenty Swingu
Klasa JComponent
Klasa Toolkit – informacje o systemie i ekranie
PODSTAWY INŻYNIERII OPROGRAMOWANIA
Klient a wykonawca
Dziedzina problemowa, dedykowane systemy informatyczne
Kryzys oprogramowania
Walka ze złożonością, narzędzia wspierające
Cechy jakościowe dobrego programu
Modele tworzenia oraz eksploatacji oprogramowania
Przegląd historycznych metod tworzenia SI
Cykl zycia systemu informatycznego
Metoda programowania strukturalnego
Model wodospadu
Realizacja kierowana dokumentami
Podejście obiektowe w inżynierii oprogramowania
Prototypowanie
Realizacja przyrostowa
Montaż z gotowych elementów
Opracowanie koncepcji systemu informatycznego
Zasady prac wykonywanych w fazie strategicznej
Zasady ustalenia priorytetowych etapów i ograniczeń
Ustalenie zakresu i kontekstu przedsięwzięcia
Zakres studium osiągalności
Szacowanie kosztu oprogramowania
Rezultaty fazy strategicznej
Osiąganie wymagań klienta wobec systemu
Trudności w określaniu wymagań
Metody rozpoznawania wymagań, studia osiągalności
Wymagania funkcjonalne
Metody specyfikacji wymagań funkcjonalnych
Formularz wymagań funkcjonalnych
Wymagania niefunkcjonalne
Słownik terminów
Zawartość dokumentu opisującego wymagania klienta wobec tworzonego systemu
Analiza dziedziny problemowej, modelowanie systemu informatycznego
Cele oraz zasady budowy modeli
Pojęcia dotyczące metodyk strukturalnych tworzenia modelu
Podstawowe pojęcia dotyczące metodyk obiektowych
Możliwość zastosowań języka UML
Projektowanie
Podstawowe zadania etapu projektowania
Metody realizacji zadań projektowych
Poprawność i jakość projektu
Narzędzia CASE wykorzystanie na etapie projektowania
Podstawowe elementy dokumentacji wynikowej etapu projektowania
Implementacja (kodowanie)
Efektywność i niezawodność – podstawowe cele kodowania
Zasady zwiększenia niezawodności oprogramowania
Metody zmniejszania liczby błędów w trakcie kodowania
Środowiska implementacji
Narzędzia RAD i CASE wspomagające kodowanie
Zawartość dokumentacji wynikowej etapu kodowania
Opracowanie dokumentacji użytkownika
Testowanie
Problemy testowania
Kilka pojęć dotyczących testowania
Metody testowania modułów programowych
Metody testowania podsystemów, systemu w całości
Inne rodzaje testowania systemu informatycznego
Wymagania do testowania systemów krytycznych
Narzędzia, strategie, czynniki sukcesu testowania
Dokumentacja etapu testowania
Narzędzia CASE
Klasyfikacja, schemat budowy CASE
Możliwości narzędzi CAST wspierających testowanie
Kryteria oceny narzędzi CASE
Trudności we wdrażaniu, kierunki rozwoju CASE
Wdrażanie oraz konserwacja systemu informatycznego
BIBLIOGRAFIA
ZAŁĄCZNIKI
Załącznik 1. Przykładowe tematy zadań do kolokwium i egzaminów
Załącznik 2. Tablica kodów ASCII
Załącznik 3. Tablica kodów binarnych alfabetu Base64
Załącznik 4. Opis programów zawartych na załączonym dysku CD
K O N T A K T
Regulamin sklepu
Koszty przesyłki - Poczta
Cennik książek
RSS
Forum dyskusyjne
Podgląd ulubionych książek PRZECHOWALNIA
Strona chroniona certyfikatem SSL
| Lose Klamm | Odżywki, suplementy | Centrum Reklamy i Informacji | antykwariat internetowy | PolskaStrefa - rozwiązania dla sklepów internetowych Ogłoszenia