Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lectures_SSD2_Yermakova / Lectures_SSD2 Yermakova.doc
Скачиваний:
226
Добавлен:
25.02.2016
Размер:
3.16 Mб
Скачать

Compilers

Compilers take program source code written by people as input and produce object code suitable for machine execution.  Along the way, they diagnose errors in syntax and semantics. Programs with these errors are returned to the programmer for correction.  Most compilers today offer fairly good error messages.   Some compilers also optimize the source code by rearranging certain operations to produce equivalent, but faster object code.

Debuggers

In the very early days, computer components were a mixture of electronic and mechanical elements. Electromechanical relays were a part of the earliest computers. Legend has it that an early computer malfunction was traced to a moth that became lodged in an electromechanical relay. This was the first computer bug. Whether or not this ever happened, the term bug certainly has caught on. When programs fail to operate as hoped they must be "debugged." One of the best ways to do this is to read the code carefully and hand-simulate the program's behavior. Another good technique is to execute the program instruction-by-instruction while observing the results. To facilitate this process, tools that enable the programmer to inspect the state of the machine during execution have been developed. The most popular of these debugging tools are the visual debuggers, which provide a graphical representation of the program's execution.

Integrated Development Environments (idEs)

IDEs have become increasingly popular.   IDEs like Microsoft Visual Studio, IBM Visual Age, and Symantec Cafe are software suites consisting of editors, compilers, debuggers, and software engineering tools for program documentation and maintenance.  Some IDEs check syntax as the programmer enters it.  Others enforce syntactic constraints by allowing only syntactically legal constructs to be entered. IDEs may even keep track of semantic information as the programmer is working.  A good IDE is especially nice because it makes moving from one stage of the development cycle to another transparent.  But, since time must be spent to learn an IDE, some programmers prefer to use more basic text editors and compilers that they already know.

Assessments:

  • Exercise 4 + Optional Exercise 4

Unit 5. Network Systems

This unit covers computer networks, data communications, and the architecture of the Internet.

Reading Sequence:

  • 5.1 Internet Basics

  • 5.2 Local and Wide Area Networks

  • 5.3 Communication Strategies

  • 5.4 Data Transfer Technologies

  • 5.5 Internet Architecture

         

Assessments:

  • Exercise 5

5.1 Internet Basics

In a short period of time, the Internet has become essential to how people and businesses communicate with each other around the world. Using a browser and email are important skills today. This section provides some general background on the Internet and helps you become more familiar with the features of your browser and email programs.

Reading Sequence:

  • Parsons/Oja, Chapter 7-Section A. Learning Goal: Knowledge of the Web and HTML, how they were formed and work.

  • Parsons/Oja, Chapter 7-Section B. Learning Goal: Knowledge of Search Engines and formulating searches on the Web.

  • Parsons/Oja, Chapter 7-Section D. Learning Goal: Knowledge of what email is, how it works, and how to use it.

  • Parsons/Oja, Chapter 7-Issue: "Who's reading your Email?"

  • 5.1.1 MIME TypesLearning Goal: Knowledge of how different types of data (graphics, sound, formatted documents) are exchanged between people using Internet email.

  • Electronic Communications in The Net: Core Rules of Netiquette. Learning Goal: Knowledge of "netiquette" (short for "network etiquette"), the rules for good behavior on the Internet.

  • 5.1.2 Internet LanguagesLearning Goal: Sample common languages used on the Internet to facilitate data exchange.

  • Parsons/Oja, Chapter 11-Section B-subsection "XML". Learning Goal: More in-depth understanding of DHTML, XML, XSL, and Java languages.

  • Parsons/Oja, Chapter 7-Section C. Learning Goal: Knowledge of what e-commerce is, how online shopping works, privacy and security in e-commerce and how payments are made online.

 

                       

Assessment:

  • Multiple-Choice Quiz 17