Search Books and Solutions Manual

Hire My Expertise

if you need help regarding semester projects, assessment/assignment related to web development(php, html, css, javascript, ajax,) or java, c, c++, c#, asp.net, ror, scala or pythn then please hire my expertise. i am professionally software developer. working as a Android & Web Developer. i'll provide my best to fulfil task in time.If you need new website or app or require any kind of digital resource, Please feel free to get in touch without wasting any single minute. I would love to work with you. Please send your requirement. i'll come back to you in time.

For more information, feel free to contact: muhammadmustafa1@hotmail.com

Free Books and Solutions Manual Headline

Monday, 23 May 2011

Foundations of Computer Science

Link To Content
These are the lecture notes for the Foundations of Computer Science course at the Computer Laboratory, University of Cambridge. 

The principal aim of this course is to present the basic principles of programming. As the introductory course of the Computer Science, it caters to students from all backgrounds. To those who have had no programming experience, it will be comprehensible; to those experienced in languages such as C, it will attempt to correct any bad habits that they have learnt. 

A further aim is to introduce the principles of data structures and algorithms. The course will emphasise the algorithmic side of programming, focusing on problem-solving rather than on hardware-level bits and bytes. Accordingly it will present basic algorithms for sorting, searching, etc., and discuss their efficiency using O-notation. Worked examples (such as polynomial arithmetic) will demonstrate how algorithmic ideas can be used to build efficient applications. 

The course will use a functional language (ML). ML is particularly appropriate for inexperienced programmers, since a faulty program cannot crash. The course will present the elements of functional programming, such as curried and higher-order functions. But it will also discuss traditional (procedural) programming, such as assignments, arrays, pointers and mutable data structures.