Курсы »

9, Авг 2009

Второй курс, посвященный теоретическому аспекту информатики.

Раздел в вики, посвященный этому курсу. Содержание курса:

  • Overview
  • Deterministic finite automata: definition and examples
  • Regular operations
  • Examples of nondeterministic finite automata
  • Definition of nondeterministic finite automata; equivalence of deterministic and nondeterministic finite automata
  • Equivalence of deterministic and nondeterministic finite automata; closure under the regular operations
  • Closure under the regular operations; regular expressions
  • How to convert a regular expression to an NFA; how to convert a DFA to a regular expression
9, Авг 2009

Course Description

A first course in operating systems stressing fundamental issues in design: process management; memory management; process co-ordination and synchronization; interprocess communication; real-time clock management; I/O device drivers; file systems; frame-level network communication. Assignments involve the use, modification, and extension of a multitasking operating system.

Описание курса

Первый курс посвящен основам дизайна операционных систем, управлением процессами, памятью, синхронизация процессов и проблемы координации, коммуникация между процессами, управление в режиме реального времени, устройства ввода/вывода и драйвера, файловые системы, сетевые интерфейсы. Задания включают использование, модификацию и расширение многозадачных ОС.

9, Авг 2009

The objective of this course is to learn how to develop online applications that users can access on various platforms via a standard client: a web browser. We are not concerned with the design of static web pages, but with the generation of dynamic content. You will learn about HTML, server-side scripting in Perl, client-side scripting in JavaScript, XML processing, and AJAX. As time permits, the course will also cover JAVA applets, issues related to design of web applications and security.

Цель этого курса научиться разрабатывать онлайн приложения, которые в последствии могут быть использованы на различных платформах с помощью стандартного клиента: веб-браузера. Мы не будет сосредотачиваться на дизайне статичных веб-страниц, а скорее на генерации динамического содержания. Вы узнаете, что такое HTML, программирование на стороне сервера на Perl, программирование на стороне клиента на JavaScript, обработка XML, AJAX. Если позволит время, мы также коснемся Java-апплетов, веб-приложений и безопасности.

9, Авг 2009

In COMP 3004 there are two objectives. The first objective is to learn the syntax and semantics of the UML and more specifically the use of ROSE-RT.  ROSE-RT is a CASE tool that is only available in the SCS labs.  The lectures will address a subset of the models used in the UML. Students are expected to pick up the details of ROSE-RT on their own.  The midterm and final exams will check to see that everyone is proficient with the basics of the tool.  The TAs are there to help you with the tool but not teach you ROSE-RT.
The second objective of the course is to learn about design decisions.  Design decisions will lead us to consider our decisions throughout the development process, and how to capture them effectively. The course will conclude with the study of various design patterns.

У курса COMP 3004 две цели. Первая – изучить синтаксис и семантику UML и в частности научиться использовать Rose-RT. Rose-RT это инструмент, доступный только в SCS лабах. Лекции посвящены некоторым моделям, используемым в UML. Студенты должны изучить детали Rose-RT самостоятельно. Мидтерм и финальные экзамены проверят, насколько хорошо были изучены основы инструмента. TA помогут с использованием Rose-RT, но не научат его основам.
Вторая цель курса – научиться совершать выбор в плане дизайна. Решения в плане дизайна являются основой для решения проблем разработки. Курс так же включает в себя изучение различных моделей дизайна.

9, Авг 2009

Course Description: This course is an in-depth study of programming in C++, with emphasis on features supporting the development of large, efficient, and reusable object-oriented systems.

Contents:
Review of C, Java, C++ Syntax Basics
Types, Classes and Inheritance
Memory (Stack and Heap Based objects)
Functions and Function Pointers
Methods and Method Pointers
Scope Resolution Operator
Values, Pointers and References
Static and Dynamic Binding
Operator Overloading
Constants
Construction, Destruction and Initialization
Containers and Iterators
Templates
Multiple Inheritance
Patterns

Описание курса: Этот курс посвящен углубленному изучению программирования на С++, с особым упором на возможнсть разработки крупных, эффективных и обладающих возможности повторного использования объектно-ориентированных систем.

Раздел в вики, посвященный курсу.

  • Категории: C++
6, Июнь 2009

cu-logo-smallObjectives: This course stresses important concepts of computer organization. It covers aspects of computer organization seen as a hierarchy of levels. These include the digital logic level, assembly language level and the conventional machine level. In addition, we will also look at the C/assembly language interface and interrupts. We will use the Pentium assembly language extensively as a tool to explore processor and system organization.

Цели: Курс посвящен важным концепциям организации компьютера. Он покрывает аспекты организации компьютера как иерархической структуры. Уровень цифровой логики, уровень ассемблера и машинный уровень. В дополнение, мы изучим прерывания и интерфейсы языков C и Ассемблер. Мы будем использовать процессор Pentium.

Раздел в вики, посвященный этому курсу.

29, Май 2009

cu-logo-smallIntroduction to the design and implementation of abstract data types and to complexity analysis of data structures. Topics include: stacks, queues, lists, trees and graphs. Special attention is given to abstraction, interface specification and hierarchical design using an object-oriented programming language.

Введение в дизайн и имплементацию абстрактных типов данных и комплексного анализа структур даных. Среди тем: стеки, очереди, листы, деревья и графы. Особое внимание уделяется абстракции, спецификации интерфейсов и иерархическому дизайну используя объекто-ориентированный язык программирования.

Раздел в вики, посвященный этому курсу.

27, Май 2010

Третий год учебы позади, наступило лето, а ваш покорный слуга нашел работу. Если вам интересно, то здесь я могу публиковать заметки о работе в компании Ericsson, где этим летом я занимаю позицию service engineer/software developer. Ответственности у меня здесь пока мало, но вам, возможно, все равно будет интересно, как работает большая корпорация, а в частности департамент research & development.

А сегодня я хочу познакомить вас с Sage.

Sage (анг. ‘Мудрец’) — система компьютерной алгебры покрывающая много областей математики, включая алгебру, комбинаторику, вычислительную математику и матанализ. Первая версия Sage была выпущена 24 февраля 2005 года в виде свободного программного обеспечения с лицензией GNU GPL. Первоначальной целью проекта было “создание открытого программного обеспечения альтернативного системам Magma, Maple, Mathematica, и MATLAB”. Разработчиком Sage является Уильям Стейн — математик Университета Вашингтона.

Одним из курсов в последнем семестре у меня был Mathematical Software, где мы изучали фундаментальные алгоритмы, лежащие в основе почти всех математических операций, проводимых в компьютере (представление данных, быстрое умножение, трансформации Фурье, алгоритм Карацубы и т.д.). Курс не был похож на другие: к концу семестра в классе осталось только трое человек; не было никаких тестов или экзаменов, финальная оценка состояла из двух домашних заданий и одного проекта; и, наконец, я давно не исписывал сотню с лишним страниц тетради в течение одного курса.

Для финального проекта нужно было сделать что-нибудь полезное для сообщества Sage. Учитывая приличную нагрузку из-за других курсов, мы (я и мой друг Темирлан) решили пойти путем наименьшего сопротивления и сделать русскоязычную документацию для Sage. Мы перевели официальный туториал, а я записал четыре скринкаста.

Sage имеет удобный веб-интерфейс, который полностью повторяет функциональность основной программы. Доступ к нему осуществляется посредством сервера, так что если вашей школе/организации/университету нужно математическое программное обеспечение, Sage имеет неоспоримый плюс: его можно поставить на одной машине, запустить веб-сервер Sage Notebook и пользоваться программой смогут все, у кого есть браузер с поддержкой javascript. Туториал описывает работу Sage Notebook и покрывает такие темы, как простые арифметические операции, работа с полиномами, кольцами, интерактивной консолью, с различными интерфейсами (Sage включает в себя некоторые другие мат. пакеты: (GP/PARI, GAP, Singular, Maxima), программирование (Sage использует Python).

Все это находится на freetonik.com/sage.

Скринкасты

Вводный скринкаст о командной строке, справочной системе, Python’е и графиках.

Второй скринкаст: подробнее о двумерных графиках.

Третий скринкаст: работа с трехмерными графиками.

Четвертый скринкаст: @interact.

8, Март 2010

Короткое введение в тему генетических алгоритмов и эволюционных вычислений. Текст задания и исходные коды можно скачать на странице исходных кодов в CS-Student Wiki.

9, Фев 2010

Доступно первое задание по курсу эволюционных алгоритмов и искуственного интеллекта. Вкратце я рассказывал об этом задании в своем личном подкасте. Скачать условия задачи и исходные коды решения (на С) можн на этой вики-странице.

В ближайшее свободное время я выложу все решения заданий, которые скопились за три года обучения, а к концу недели постараюсь сделать парочку туториалов.

Спасибо за постоянную поддержку, за письма и сообщения!



Warning: Parameter 1 to id_generic_callback() expected to be a reference, value given in /home/users/f/freetonik/domains/css.freetonik.com/wp-content/plugins/intensedebate/intensedebate.php on line 911

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 8597215 bytes) in /home/users/f/freetonik/domains/css.freetonik.com/wp-includes/functions.php on line 959