Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)
Functional Programming Principles in ScalaГод выпуска: 2012
Производитель: Coursera / EPFL
Сайт производителя:
https://www.coursera.org/course/progfunАвтор: Martin Odersky (создатель языка Scala)
Продолжительность: 11:15:30
Тип раздаваемого материала: Видеоурок
Язык: Английский
Описание: Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
Первые версии языка созданы в 2003 году коллективом лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерски.
[spoiler="About the Course"]
This course introduces the cornerstones of functional programming using the Scala programming language. Functional programming has become more and more popular in recent years because it promotes code that’s safe, concise, and elegant. Furthermore, functional programming makes it easier to write parallel code for today’s and tomorrow’s multiprocessors by replacing mutable variables and loops with powerful ways to define and compose functions.
Scala is a language that fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with Java and its tools. Scala is now used in a rapidly increasing number of open source projects and companies. It provides the core infrastructure for sites such as Twitter, LinkedIn, Foursquare, Tumblr, and Klout.
In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically.
The course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series of assignments, most of which are also programming projects.
[/spoiler]
[spoiler="Course Syllabus"]
Week One: Programming paradigms; overview of functional programming and the Scala programming language.
Week Two: Defining and using functions, recursion and non-termination, working with functions as values, reasoning by reduction.
Week Three: Defining and using immutable objects, review of inheritance and dynamic binding.
Week Four: Types and Pattern Matching
Week Five: Working with Lists
Week Six: Collections and Combinatorial Search
Week Seven: Lazy Evaluation
[/spoiler]
Файлы примеров: присутствуют
[spoiler="Скриншоты"]

[/spoiler]
Доп. информация: Также внутри раздачи:
- слайды
- субтитры на английском
- туториалы по установке
- все задания (не решенные)
- необходимый софт
Технические данные:
[spoiler="Отчёт MediaInfo"]
General
Complete name : 2 - 1 - Lecture 1.1 - Programming Paradigms (14_32).mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 26.4 MiB
Duration : 14mn 32s
Overall bit rate mode : Variable
Overall bit rate : 254 Kbps
Writing application : Lavf53.29.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile :
[email protected]Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 14mn 32s
Bit rate : 119 Kbps
Width : 960 pixels
Height : 540 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.008
Stream size : 12.4 MiB (47%)
Writing library : x264 core 120 r2120 0c7dab9
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=28.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 14mn 32s
Bit rate mode : Variable
Bit rate : 127 Kbps
Maximum bit rate : 128 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Delay relative to video : 67ms
Stream size : 13.2 MiB (50%)
[/spoiler]