Sabtu, 26 November 2011

Introduction to Computer Science



Programming Paradigms

COURSE CONTENT:


Course Home
Lectures
Syllabus
Handouts
Assignments
Exams
Resources


Dosen:  Prof. Jerry Cain

Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. The functional paradigm (using LISP) and concurrent programming (using C and C++). Brief survey of other modern languages such as Python, Objective C, and C#.


Prerequisites: Programming and problem solving at the Programming Abstractions level. Prospective students should know a reasonable amount of C++. You should be comfortable with arrays, pointers, references, classes, methods, dynamic memory allocation, recursion, linked lists, binary search trees, hashing, iterators, and function pointers. 

You should be able to write well-decomposed, easy-to-understand code, and understand the value that comes with good variable names, short function and method implementations, and thoughtful, articulate comments.


Complete Course Material Downloads:


Course Handouts: The ZIP file below contains all of the course handouts for this course. If you do not need the complete course, individual documents can be downloaded from the course content pages.




Sumber:

Stanford Engineering Everywhere (SEE)

Semoga Bermanfaat

Jumat, 25 November 2011

Introduction to computer science



Programming Abstractions


COURSE CONTENT:

Course Home
Lectures
Syllabus
Handouts
Assignments
Exams

Dosen: Prof. Julie Zelenski 

I left my rural hometown of Stevinson, CA (population: 262) to come to Stanford as a wide-eyed freshman in 1985. That tour passed through SLE, the LSJUMB, a half-dozen changes in my major, and I emerged with a Mathematical Sciences degree. A few years out in the "real world" were enough to send me running back for grad school in computer science and I segued into my current position as a lecturer in 1992 without setting foot off campus again. 

I teach courses in the undergrad systems curriculum, including programming methodology and abstractions, language paradigms, compilers, and object-oriented design and development. This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. 

If you've taken the Computer Science AP exam and done well (scored 4 or 5) or earned a good grade in a college course, Programming Abstractions may be an appropriate course for you to start with, but often Programming Abstractions (Accelerated) is a better choice. 

Programming Abstractions assumes that you already have familiarity with good programming style and software engineering issues (at the level of Programming Methodology), and that you can use this understanding as a foundation on which to tackle new topics in programming and data abstraction. 

Topics: Abstraction and its relation to programming. Software engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to time and space complexity analysis. Uses the programming language C++ covering its basic facilities. 

Prerequisites: Solid performance in Programming Methodology and readiness to move on to advanced programming topics. A comparable introductory programming course (including high school AP courses) is often a reasonable substitute for our Programming Methodology.

Complete Course Material Downloads:

Course Handouts: The ZIP file below contains all of the course handouts for this course. If you do not need the complete course, individual documents can be downloaded from the course content pages.


Download Zipped Course Materials


Sumber:

Stanford Engineering Everywhere (SEE)

Semoga Bermanfaat

Kamis, 24 November 2011

Introduction to Computer Science

Programming Methodology 

Course Content:

Course Home
Lectures
Syllabus
Handouts
Assignments
Exams
Software


Lecturer Image

Prof. Mehran Sahami, Ph.D.



I joined the Computer Science Department at Stanford University as Associate Professor (Teaching), Associate Chair for Undergraduate Education, and Director of Educational Affairs. From 2001 to 2006, I also taught in the CS department at Stanford as a Lecturer. From 2002-2007, I was a Senior Research Scientist at Google, where I continue to maintain a consulting appointment in the research group.

My research interests include computer science education, machine learning, and information retrieval on the Web. Please see my publications web page for more information.

Previously, I worked for several years as a Senior Engineering Manager at Epiphany. Prior to working at Epiphany, I completed my PhD in the Computer Science Department at Stanford. I was also an undergrad at Stanford and I loved it so much that I didn't want to leave.

Outside of work, I enjoy spending time with family, playing the guitar, going on outdoor excursions, and sleeping (which seems to be getting rarer and rarer these days).

This course is the largest of the introductory programming courses and is one of the largest courses at Stanford. Topics focus on the introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing.

Programming Methodology teaches the widely-used Java programming language along with good software engineering principles. Emphasis is on good programming style and the built-in facilities of the Java language.

The course is explicitly designed to appeal to humanists and social scientists as well as hard-core techies. In fact, most Programming Methodology graduates end up majoring outside of the School of Engineering.

Prerequisites: The course requires no previous background in programming, but does require considerable dedication and hard work.

View Lectures and Materials

Complete Course Material Downloads:





Sumber: 

Stanford Engineering Everywhere (SEE)

Semoga Bermanfaat

Kamis, 17 November 2011

The Islamic origins of Modern Science Part III




"Apa yang sungguh mengejutkan saya adalah arsitektur kehidupan... Sistemnya begitu teramat rumit. Sepertinya hal itu telah dirancang...Ada kecerdasan Mahahebat di sana."

~Prof. Led Adleman dari Universitas Southern California di Los Angeles~

By: Harun Yahya
The Scientific Renaissance of the Middle East

As we have mentioned, when the Prophet Mohammed (pbh) began to preach Islam, the Arabs were a community of ignorant, superstitious tribes. However, thanks to the light of the Qur'an they were rescued from superstition and began to follow the path of reason. As a result of this, one of the most astonishing developments in world history took place and in a few decades Islam, which emerged from the small town of Medina, spread from Africa to Central Asia. The Arabs, who previously could not even rule a single city in harmony, came to be rulers of a world empire.

One of the most important facets of this empire was that it provided the stage for a scientific development previously unmatched in history. At a time when Europe was living through the Dark Ages, the Islamic world created the greatest legacy of scientific knowledge seen in history to that date. The sciences of medicine, geometry, algebra, astronomy and even sociology were developed systematically for the first time.

Great centers of religious learning were also centers of knowledge and scientific development. Such formal centers began during the Abbasid period (750-1258 A.D.) when thousands of mosque schools were established. In the tenth century Baghdad had some 300 schools. Alexandria in the fourteenth century had 12,000 students. It was in the tenth century that the formal concept of the Madrassah (school) was developed in Baghdad.

The Madrassah had a curriculum and full-time and part-time teachers, many of whom were women. Rich and poor alike received free education. From there Maktabat (libraries) were developed and foreign books acquired. The two most famous are Bait al-Hikmah in Baghdad (ca. 820) and Dar al-Ilm in Cairo (ca. 998). Universities such as Al-Azhar (969 A.D.) were also established long before those in Europe. The Islamic world created the first universities - and even hospitals - in the world.

This fact may be very surprising to modern Westerners, who generally have a different kind of picture about Islam in their minds. But this picture emerges from ignorance about the origins and history of the Islamic civilization. Those who get rid of this ignorance - and several prejudices - acknowledge the true nature of Islam. One example of these is a recent documentary film by PBS, titled Islam: The Empire of Faith, in which the commentator rightly states that:
In the unfolding of history, Islamic civilization has been one of humanity's grandest achievements... For the West, much of the history of Islam has been obscured behind a veil of fear and misunderstanding. Yet Islam's hidden history in deeply and surprisingly interwoven with Western civilization...

It was they (Muslim scholars) who sewed the seeds of the Renaissance, 600 years before the birth of Leonardo da Vinci. From the way we heal the sick to the numerals we use for counting, cultures across the globe have been shaped by the Islamic civilization. 1

In an article published in Salon.com, a prominent voice of the liberal American media, author George Rafael writes in an article titled "A Is For Arabs" that;

From algebra and coffee to guitars, optics and universities... the West owes to the People of the Crescent Moon...

A millennium ago, while the West was shrouded in darkness, Islam enjoyed a golden age. Lighting in the streets of Cordoba when London was a barbarous pit; religious tolerance in Toledo while pogroms raged from York to Vienna. As custodians of our classical legacy, Arabs were midwives to our Renaissance. Their influence, however alien it might seem, has always been with us, whether it's a cup of steaming hot Joe or the algorithms in computer programs. 2

References:

Harun Yahya

(1) Jonathan Grupper (series writer), Islam: Empire of Faith, A Documentary by Gardner Films, in association with PBS, 2001
(2) George Rafael "A is for Arabs", www.Salon.com, Jan. 8, 2002; http://www.salon.com/books/feature/2002/01/08/alphabet/