Уикипедия:Уикипедия за програмисти
„Уикипедия за програмисти“ е уикипроект към курса „Споделяне на знания и работа в екип“ на софтуерната академия на „Телерик“.
Регламент на заданието
[редактиране на кода]Настоящият регламент описва задание за екипна работа към курса „Споделяне на знания и работа в екип“ към софтуерната академия на „Телерик“. По проекта ще работят около 350 участника, разделени в екипи по 4-5 души през периода юли-август 2013.
Описание на проекта
[редактиране на кода]Целта на проекта е да се допълни Българската Уикипедия с качествени статии по съществени теми относно програмиране, разработка на софтуер, софтуерно инженерство и информационни технологии като цяло. Това е един обществен проект, от който ще имат полза всички българи, които изучават информатика, програмиране, софтуерни и информационни технологии.
Задачата на екипите е да пишат, редактират и допълват информацията в нови или съществуващи статии на български език в http://bg.wikipedia.org по правилата и стандартите за качество на Уикипедия.
Изисквания за качество
[редактиране на кода]Статиите трябва да са написани с високо качество и да съдържат обективно представена информация, представляваща авторски текст написан в енциклопедичен стил и спазваща правилата и препоръките на Уикипедия:
- Уикипедия: Петте стълба на Уикипедия — какво е Уикипедия и нейните основни ценности.
- Правила за писане на статии — авторски материали, нетърговско съдържание, значими теми и т.н.
- Уикипедия: Енциклопедичност — как да пишем качествен енциклопедичен, безпристрастен, компетентен и обективен текст за Уикипедия?
- Уикипедия: Редактиране на страници — правила, препоръки и технически указания за редактиране на страниците в Уикипедия.
- Уикипедия: Уикиетикет — как да се държим като автори и редактори и как да комуникираме с другите?
Какво е позволено и забранено?
[редактиране на кода]- Не се допуска копиране и преписване от Интернет-базирани или хартиени източници (вижте Уикипедия: Авторско право).
- Не се допуска машинен превод. Допуска се качествен превод на статия от английската версия на Уикипедия, вместо писането на авторски текст. Въпреки това препоръчваме отборите да проучат своите теми и да напишат максимално качествен авторски текст, чрез компилиране на информация от авторитетни и благонадеждни източници (включително използваните в съответните статии в http://en.wikipedia.org) при спазването на всички авторски права.
- Част от заданието е и оформлението на страниците (вж. Уикипедия: Оформление) с вътрешни препратки, категории, междуезикови препратки и по възможност илюстрации. Вижте списъка с често задаваните въпроси.
Теми за работа
[редактиране на кода]Темите за работа ще бъдат разпределени между отборите и са два вида:
- Писане на нова статия в Уикипедия върху съществена тема от света на информатиката, програмирането, разработката на софтуер и информационните технологии.
- Допълване и обогатяване на съществуваща статия в Уикипедия върху съществена тема от света на информатиката, програмирането, разработката на софтуер и информационните технологии.
Всички потвърдили участници в проекта ще получат своята тема през студентската система на Софтуерната академия.
Правила за екипната работа
[редактиране на кода]- Всеки участник в даден екип трябва да има принос към проекта, който е видим исторически от хронологията на промените на дадената статия (ето пример).
- Екипът има право да се събира на живо или да работи от къщи.
- Комуникацията по проекта (въпроси, дискусии между участниците, молби за помощ и т.н.) се води в Уикипедия — на беседата на проекта, на потребителските беседи на участниците или на беседите към статиите.
- При създаването на страница се препоръчва да се започва от работна подстраница (Уикипедия:Подстраници), а чак когато придобие завършен вид, текстът да се изнася като нова енциклопедична статия. Работна подстраница може да се създаде в пространството на някой от участниците (например Потребител:Nakov/Декомпилатор).
- Екипите имат право (и се насърчават) да си помагат помежду си, да дискутират статиите си, да предлагат промени, да поправят грешки, да допълват и подобряват чуждото съдържание.
- Всеки екип трябва да представи работата си на публична защита в рамките на 5 минути. Датата за защита ще бъде определена по-късно. Необходимо е присъствието на поне един участник от всеки отбор.
Критерии за оценяване
[редактиране на кода]- Качествено, грамотно, обективно, компетентно и разбираемо написани статии в енциклопедичен стил, с коректно цитиране на източниците.
- Авторски текст (или превод от свободни източници), без нарушаване на авторски права. Необходимо е текстът да е уникален (да го няма публикуван на друго място в Интернет). Проверява се с инструменти за проверка уникалността на съдържанието.
- Спазване на правилата на Уикипедия и позитивна обратна връзка от уики-обществото. Доказва се чрез преглед на беседите по статиите и липса на административни наказания (изтриване или защита на статия, блокиране на потребител).
- Участие на всички съотборници от екипа. Доказва се чрез история на промените.
- Помагане на други екипи в работата по техните статии. Доказва се чрез история на промените за даден потребител.
Оценяване на съотборниците
[редактиране на кода]Всеки участник в екипната работа ще трябва да оцени съотборниците си след края на проекта, така че имайте готовност. Оценяването става чрез попълване на формуляр в студентската система http://telerikacademy.com.
Срок
[редактиране на кода]Крайният срок за предаване на проектите е 1 септември 2013.
Теми и екипи
[редактиране на кода]Отбор | Тема 1. Насоки | Тема 2. Насоки |
---|---|---|
Отбор „Rhodium“
|
Условна конструкция (програмиране) - видове цикли + примери на C# и C++ | Система за управление на съдържанието (CMS) - типични функции + по някоя дума за WordPress + Drupal + Joomla |
Отбор „Chromium“ | Цикъл (програмиране) + видове цикли + примери на C# и C++ | Оптимизация за търсачки (SEO) - да се допълни: вътрешна оптимизация, построяване на линкове, в социалните мрежи, ... |
Отбор „Silicon“
|
C Sharp - характеристики + примерен код + малко история | Семантичен HTML - концепция + тагове в HTML5 + примери |
Отбор „Flerovium“ | Системна конзола (в Linux и Windows) + конзолни команди | Трислойна архитектура - клиентски слой + бизнес слой + слой данни + примери |
Отбор „Lutetium“ | Конзолно приложение - какво е това + как се пише | NoSQL (нерелационна база данни) - концепция + модели на данните + основни NoSQL системи (MongoDB, Cassandra, CouchDB, Redis) |
Отбор „Platinum“
|
Microsoft Visual Studio + предназначение + основна функционалност + история | jQuery - концепции + селектори + DOM манипулация + обработка на събития + AJAX + плъгини + много примери |
Отбор „Manganese“ | Декомпилатор + какво е това + как работи + основни инструменти за C#, Java, C++ | ASP.NET (за разширяване) - модел на изпълнение + компоненти + свойства + събития + примери |
Отбор „Samarium“
|
Масив (програмиране) -> да се допълни нещо за C# + многомерни масиви | | ASP.NET MVC - какво е това + основни концепции + MVC модел + модели + контролери + действия + изгледи + валидация + рутиране + история |
Отбор „Lithium“ | Дебъгер + примери + картинки + отдалечен дебъгер + конзолен дебъгер + дебъгване | XAML (език за описание на потребителски интерфейс) - синтаксис + основни елементи + свойства + събития + ... |
Отбор „Scandium“
|
Побитова операция - видове + примери + малко псевдокод | Компонентно тестване (unit testing) + инструменти в C#, Java, JavaScript и други езици |
Отбор „Iridium“ | Променлива (програмиране) + Обхват на променлива (scope) + статична / на инстанция | Фърмуер - да се напише какво е, как се програмира, видове |
Отбор „Gold“ | Конвертиране на типове (explicit/implicit type convertion / typecasting) | Хардуер - има доста да се напише тука |
Отбор „Lanthanum“ | Шаблонни типове (програмиране) - generic types в C#, Java, C++ | Малуер (пренасочваща: malware) - какво е + инструменти и техники за защита |
Отбор „Copper“
|
Подпрограма (програмиране) + функция + метод + параметри | MIME - описание + примери + Content-Type + Content-Disposition |
Отбор „Nobelium“
|
Метод (програмиране) + параметри и върната стойност + статичен / на инстанция | SMTP - описание + примерна SMTP сесия |
Отбор „Osmium“
|
Регулярен израз (в програмирането, не в математиката) + примери + примерен код на C#, Java, PHP, JavaScript | MD5 - описание + примери + линкове към инструмент за MD5 хеширане |
Отбор „Dysprosium“ | Опашка (програмиране) + примерна реализация на C# и JavaScript | SHA1 - описание + примери + линкове към инструмент за SHA1 хеширане |
Отбор „Ruthenium“ | Обхождане в ширина + примерна реализация на C# / Java | AES - описание + примери + линкове към инструмент за AES криптиране |
Отбор „Plutonium“
|
Обхождане в дълбочина + примерна реализация на C# / Java | Рекурсия - описание + примери (да се обясни, че Фибоначи е лоша идея) |
Отбор „Sodium“ | Git (софтуер) + концепция + обяснение на термините около Git | Хеш-таблица - описание + хеширане + разрешаване на колизии + примери на C#, Java, PHP, JavaScript + картинки |
Отбор „Bromine“ | GitHub (има прекрасна статия на английски -> да се преведе / адаптира) | Преработка на код (пренасочваща: refactoring) - какво е рефакториране на код + как се прави + refactoring patterns |
Отбор „Astatine“ | Система за контрол на версиите - предназначение + видове версионизация + типични инструменти | Файлова система - видове + FAT32 + NTFS + Ext3/Ext4 |
Отбор „Potassium“ | Клас (програмиране) + поле, свойство, конструктор (вече го има), ... | Тестване на софтуер - концепции + black box + white box + автоматизация на тестването + инструменти |
Отбор „Neptunium“
|
Обект (програмиране) + референция към клас + примерен код + разлика между клас и обект | Осигуряване на качеството на софтуера (пренасочваща: SQA, software quality assurance) - какво представлява + тестване + методология + основни процеси |
Отбор „Meitnerium“ | Списък (програмиране) + свързан списък + статичен списък + примерена имплементация | Гъвкава методология за разработка (пренасочваща: agile software development) - концепция + Scrum + Канбан (разработка на софтуер) + Уикипедия:Lean разработване |
Отбор „Neodymium“
|
Софтуерна академия + Софтуерна академия на Телерик / Telerik Academy — феноменът "софтуерна академия" + раздел за академията на Телерик; да е съобразено с У:ЗОК | Компресиране на данни - какво е компресия + видове + с / без загуба + алгоритми + файлови формати (ZIP, RAR) + картинка (screenshot) |
Отбор „Zinc“ | Тип данни + примитивни типове + непримитивни типове (в C#, Java, C, C++, PHP и JavaScript) | Текстообработка - същност + софтуер за целта + файлови формати + текстово оформление + шрифтове + абзаци + стилове |
Отбор „Selenium“ | Портал:Програмиране (да се изгради по подобие на Портал:История - има го на английски) | Електронна таблица (пренасочваща: spreadsheet) - същност + софтуер за целта + файлови формати + формули + графики + картинка |
Отбор „Vanadium“
|
Софтуерно инженерство + основни задачи + етапи от разработката на софтуер + методологии за разработка | Планиране на ресурсите на предприятието - същност + отговорности на ERP системите + класификация + водещи продукти |
Отбор „Technetium“ | Софтуерен инженер (+ професиите в софтуерната индустрия) | CRM система - същност + отговорности на CRM системите + класификация + водещи продукти + картинка |
Отбор „Barium“ | Софтуерен разработчик (професия) + отговорности | Експертна система - същност + класификация + примери |
Отбор „Chlorine“ | QA инженер (професия) + отговорности | Интелигентна система - същност + класификация + примери |
Отбор „Americium“
|
Front-end разработчик (професия) + отговорности | Компютърна презентация - същност + инструменти (PowerPoint, Impress, Prezi) + изграждане на презентация |
Отбор „Krypton“
|
Софтуерна индустрия в България + описание + информация за Българските софтуерни фирми, да се съблюдават изискванията за значимост на компании, дадени в У:ЗОК | Видео файл формат - контейнер-формати + кодеци + конвертиране + масово използвани видео формати |
Отбор „Hydrogen“ | C Sharp синтаксис (статия подобна на http://en.wikipedia.org/wiki/C_Sharp_syntax) | Видео плеър (video player) - какво представлява + функционалност + известни плеъри за видео + линкове + картинка |
Отбор „Fermium“ | Символен низ (пренасочваща: стринг) + низове в C#, Java, C, C++, PHP и JavScript | Видео редактор - какво представляват + типична функционалност + видове + линкове + картинки |
Отбор „Caesium“ | Двоично търсене (алгоритъм) + примерен код | Подмрежа (пренасочваща: Subnetwork) - подмрежи (IPv4, IPv6) + мрежови маски + нотации + картинки |
Отбор „Thallium“
|
Алгоритъм за сортиране - има супер подробна статия в английската Wikipedia | HSDPA (протокол) - описание + предимства + използване в България |
Отбор „Fluorine“ | TFS (система за контрол на версиите) - предназначение + начина на работа + инструменти | POP3 (пренасочваща: Post Office Protocol) - описание + команди + примери |
Отбор „Francium“ | Subversion (софтуер) - предназначение + начина на работа + инструменти (като TortoiseSVN) | SSH (протокол) - описание + SSH клиент (софтуер) + SCP + пренасочване на порт + картинки |
Отбор „Radon“ | Интерпретатор (програмиране) + разлика с компилатор / транслатор / linker + интерпретируеми езици | Виртуален сървър (пренасочваща: VPS) - описание + технологии + видове (VPS, VDS) + VPS хостинг + IaaS cloud + картинка |
Отбор „Tellurium“
|
Изходен код (пренасочващи: сорс код, source code) + линк към компилатор и интерпретатор | Уеб (пренасочващи: World Wide Web, WWW) - описание + уеб сървър + уеб браузър + URI + URL + HTTP + хиперлинк технология |
Отбор „Thorium“ | Стил на програмиране (качествен програмен код) - форматиране на кода, именуване на индентификатори, ... | JSON (пренасочваща: JavaScript Object Notation) - нотация JSON + описание + примери + ползване от JavaScript и C# |
Отбор „Cobalt“ | Оператор (програмиране) + видовете оператори + примери от C#, Java, C++, PHP и JavaScript | REST услуга - описание + REST стандарт + HTTP + JSON + RESTful API + примери + допълване на статията за "Уеб услуга" с REST |
Отбор „Bohrium“
|
Литерал (програмиране) + видове литерали + примери от C#, Java, C++, PHP и JavaScript | Поток (програмиране) + дефиниция + видове + основни операции + примерен код на C# / Java |
Отбор „Uranium“ | Шестнадесетична бройна система + алгоритми за преминаване в двоична и десетична | Мисловна карта (пренасочваща: mind map) + примери (картинки) + за какво се ползват + история |
Отбор „Cerium“ | Изброен тип (enumeration / enum) + примери в C#, Java и други езици | HTML (за разширяване) - структура на документа + основни тагове + параграфи, списъци, таблици + HTML5 + примери |
Отбор „Titanium“ | Именно пространство - namespace (в C#, C++, package в Java) (Peterlambov) | CSS (за разширяване) - основни селектори (BGatev), свойства (BGatev), позициониране, оразмеряване + примери (Icom85) |
Отбор „Oxygen“
|
Обща система от типовете (CTS) - системата от типове в .NET Framework | Изключение (програмиране) / Управление на изключенията + хващане / хвърляне на изключение в C#, Java, PHP, JavaScript |
Първи
[редактиране на кода]- Първи регистриран потребител: Bgatev -- отбор "Titanium"
- Първа започната статия по проекта: Видео редактор -- отбор "Fermium"
Помощни страници, литература
[редактиране на кода]- Университетски уикипроекти: Често задавани въпроси
- Всички помощни страници от ИП Уикипедия
- Книги
- Critical Point of View: A Wikipedia Reader, Geert Lovink and Nathaniel Tkacz (Eds.), Institute of Network Cultures, Amsterdam, 2011
- Sams Teach Yourself Wikipedia in 10 Minutes, Michael Miller, Sams, 2009
- Wikipedia: The Missing Manual, John Broughton, O'Reilly Media, 2008