100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Exam (elaborations)

Exam (elaborations) Foundations of Computer Science

Rating
-
Sold
-
Pages
167
Grade
A+
Uploaded on
13-07-2024
Written in
2023/2024

This course has two aims. The first is to teach programming. The second is to present some fundamental principles of computer science, especially algorithm design. Most students will have some programming experience already, but there are few people whose programming cannot be improved through greater knowledge of basic principles. Please bear this point in mind if you have extensive experience and find parts of the course rather slow. The programming in this course is based on the language ML and mostly concerns the functional programming style. Functional programs tend to be shorter and easier to understand than their counterparts in conventional languages such as C. In the space of a few weeks, we shall be able to cover most of the forms of data structures seen in programming. The course also covers basic methods for estimating efficiency. Learning Guide. Suggestions for further reading, discussion topics, exercises and past exam questions appear at the end of each lecture. Extra reading is mostly drawn from my book ML for the Working Programmer (second edition), which also contains many exercises. You can find relevant exam questions in the Part IA papers from 1998 onwards. (Earlier papers pertain to a predecessor of this course.) Thanks to David Allsopp, Stuart Becker, Gavin Bierman, Chlo¨e Brown, Silas Brown, Qi Chen, David Cottingham, Daniel Hulme, Frank King, Joseph Lord, James Margetson, David Morgan, Frank Stajano and Assel Zhiyenbayeva for pointing out errors in these notes. Please inform me of further errors and of passages that are particularly hard to understand. If I use your suggestion, I’ll acknowledge it in the next printing. Reading List My own book is not based on these notes, but there is some overlap. The Hansen/Rischel and Ullman books are good alternatives. The Little MLer is a rather quirky tutorial on recursion and types. See Introduction to Algorithms for O-notation. • Paulson, Lawrence C. (1996). ML for the Working Programmer. Cambridge University Press (2nd ed.). • Hansen, Michael and Rischel, Hans (1999) Introduction to Programming Using SML. Addison-Wesley. • Ullman, Jeffrey D. (1998) Elements of ML97 Programming. Prentice Hall. • Mattias Felleisen and Daniel P. Friedman (1998). The Little MLer. MIT Press. • Thomas H. Cormen, Charles E. Leiserson and Ronald L. Rivest (1990). Introduction to Algorithms. MIT Press. I Foundations of Computer Science 2 Slide 101 Computers: a child can use them; NOBODY can fully understand them! We can master complexity through levels of abstraction. Focus on 2 or 3 levels at most! Recurring issues: • what services to provide at each level • how to implement them using lower-level services • the interface: how the two levels should communicate A basic concept in computer science is that large systems can only be understood in levels, with each level further subdivided into functions or services of some sort. The interface to the higher level should supply the advertised services. Just as important, it should block access to the means by which those services are implemented. This abstraction barrier allows one level to be changed without affecting levels above. For example, when a manufacturer designs a faster version of a processor, it is essential that existing programs continue to run on it. Any differences between the old and new processors should be invisible to the program. Modern processors have elaborate specifications, which still sometimes leave out important details. In the old days, you then had to consult the circuit diagrams.

Show more Read less
Institution
Foundations Of Computer Science
Course
Foundations of Computer Science











Whoops! We can’t load your doc right now. Try again or contact support.

Written for

Institution
Foundations of Computer Science
Course
Foundations of Computer Science

Document information

Uploaded on
July 13, 2024
Number of pages
167
Written in
2023/2024
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

$7.99
Get access to the full document:

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached

Get to know the seller
Seller avatar
leonardkinyua

Get to know the seller

Seller avatar
leonardkinyua Abraham Lincoln University, School Of Law
View profile
Follow You need to be logged in order to follow users or courses
Sold
0
Member since
1 year
Number of followers
0
Documents
324
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Frequently asked questions