Programming Paradigms http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu-dz.4331558368.04331558370 Jerry Cain Programming Paradigms Engineering Stanford no iTunes U Podcast Owner sapphire-podcast-owner@group.apple.com 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. false 1. Programming Paradigms Lecture 1 Programming Paradigms (CS107) introduces several programming languages, including C, Assembly, C++, Concurrent Programming, Scheme, and Python. Programming Paradigms (CS107) introduces several programming languages, including C, Assembly, C++, Concurrent Programming, Scheme, and Python. 4331558372 Tue, 22 Jul 2008 14:51:52 GMT Jerry Cain 0:17:25 no Engineering Stanford no 1 2. Programming Paradigms Lecture 2 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C and C++ programming codes, as well as binary addition and subtraction. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C and C++ programming codes, as well as binary addition and subtraction. 4331558378 Tue, 22 Jul 2008 14:50:49 GMT Jerry Cain 0:51:03 no Engineering Stanford no 2 3. Programming Paradigms Lecture 3 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C programming, focusing upon string duplicates, string copy, and memory diagrams. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C programming, focusing upon string duplicates, string copy, and memory diagrams. 4331558384 Tue, 22 Jul 2008 14:48:21 GMT Jerry Cain 0:52:48 no Engineering Stanford no 3 4. Programming Paradigms Lecture 4 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C and C++ programming, including bit patterns, memory copy, and linear search. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C and C++ programming, including bit patterns, memory copy, and linear search. 4331558390 Tue, 22 Jul 2008 14:45:42 GMT Jerry Cain 0:51:23 no Engineering Stanford no 4 5. Programming Paradigms Lecture 5 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain focuses on linear search and stack within the C programming language. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain focuses on linear search and stack within the C programming language. 4331558396 Tue, 22 Jul 2008 14:43:03 GMT Jerry Cain 0:52:15 no Engineering Stanford no 5 6. Programming Paradigms Lecture 6 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C language programming by focusing on different forms of stack. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses C language programming by focusing on different forms of stack. 4331558402 Tue, 22 Jul 2008 14:40:32 GMT Jerry Cain 0:51:26 no Engineering Stanford no 6 7. Programming Paradigms Lecture 7 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his lecture on the C programming language and generic stacks. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his lecture on the C programming language and generic stacks. 4331558408 Tue, 22 Jul 2008 14:37:53 GMT Jerry Cain 0:53:09 no Engineering Stanford no 7 8. Programming Paradigms Lecture 8 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses heap segments and their use in the C programming language. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses heap segments and their use in the C programming language. 4331558414 Tue, 22 Jul 2008 14:35:15 GMT Jerry Cain 0:50:43 no Engineering Stanford no 8 9. Programming Paradigms Lecture 9 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain introduces computer architecture and the Assembly programming language while referencing C code. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain introduces computer architecture and the Assembly programming language while referencing C code. 4331558420 Tue, 22 Jul 2008 14:32:41 GMT Jerry Cain 0:51:45 no Engineering Stanford no 9 10. Programming Paradigms Lecture 10 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his discussion on computer architecture by talking about function call. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his discussion on computer architecture by talking about function call. 4331558426 Tue, 22 Jul 2008 14:30:06 GMT Jerry Cain 0:47:08 no Engineering Stanford no 10 11. Programming Paradigms Lecture 11 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his lecture on computer architecture by discussing function call and return in further depth. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his lecture on computer architecture by discussing function call and return in further depth. 4331558432 Tue, 22 Jul 2008 14:27:45 GMT Jerry Cain 0:51:47 no Engineering Stanford no 11 12. Programming Paradigms Lecture 12 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses pre-processing, compilations, and linking in the context of C++ and C language programming. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses pre-processing, compilations, and linking in the context of C++ and C language programming. 4331558438 Tue, 22 Jul 2008 14:25:09 GMT Jerry Cain 0:50:19 no Engineering Stanford no 12 13. Programming Paradigms Lecture 13 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses how linking and compilations work together in the context of C++ and C language programming. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses how linking and compilations work together in the context of C++ and C language programming. 4331558444 Tue, 22 Jul 2008 14:22:37 GMT Jerry Cain 0:52:26 no Engineering Stanford no 13 14. Programming Paradigms Lecture 14 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses struct codes and wraps up the implementation of C and C++ code. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses struct codes and wraps up the implementation of C and C++ code. 4331558450 Tue, 22 Jul 2008 14:20:03 GMT Jerry Cain 0:44:37 no Engineering Stanford no 14 15. Programming Paradigms Lecture 15 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses thread libraries in the context of the C and C++ programming languages. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses thread libraries in the context of the C and C++ programming languages. 4331558456 Tue, 22 Jul 2008 14:17:44 GMT Jerry Cain 0:52:50 no Engineering Stanford no 15 16. Programming Paradigms Lecture 16 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his lecture on thread libraries, discussing semaphores in greater depth. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues his lecture on thread libraries, discussing semaphores in greater depth. 4331558462 Tue, 22 Jul 2008 14:15:08 GMT Jerry Cain 0:51:31 no Engineering Stanford no 16 17. Programming Paradigms Lecture 17 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues discussing semaphores, and moves on to more practical applications of threading. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues discussing semaphores, and moves on to more practical applications of threading. 4331558468 Tue, 22 Jul 2008 14:12:35 GMT Jerry Cain 0:48:59 no Engineering Stanford no 17 18. Programming Paradigms Lecture 18 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses the synchronization directive by using the ice cream store simulation as an example. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses the synchronization directive by using the ice cream store simulation as an example. 4331558474 Tue, 22 Jul 2008 14:10:05 GMT Jerry Cain 0:52:19 no Engineering Stanford no 18 19. Programming Paradigms Lecture 19 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain introduces a new programming paradigm, the functional paradigm, and begins lecturing on the Scheme. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain introduces a new programming paradigm, the functional paradigm, and begins lecturing on the Scheme. 4331558480 Tue, 22 Jul 2008 14:07:20 GMT Jerry Cain 0:51:57 no Engineering Stanford no 19 20. Programming Paradigms Lecture 20 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. Prof. Cain continues lecturing on the functional paradigm and the Scheme programming language by using the flatten function. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. Prof. Cain continues lecturing on the functional paradigm and the Scheme programming language by using the flatten function. 4331558486 Tue, 22 Jul 2008 14:04:47 GMT Jerry Cain 0:51:45 no Engineering Stanford no 20 21. Programming Paradigms Lecture 21 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues discussing the functional program and the Scheme programming language. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain continues discussing the functional program and the Scheme programming language. 4331558492 Tue, 22 Jul 2008 14:02:09 GMT Jerry Cain 0:50:29 no Engineering Stanford no 21 22. Programming Paradigms Lecture 22 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain elaborates upon Scheme programming language by giving several detailed code examples. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain elaborates upon Scheme programming language by giving several detailed code examples. 4331558498 Tue, 22 Jul 2008 13:59:40 GMT Jerry Cain 0:53:24 no Engineering Stanford no 22 23. Programming Paradigms Lecture 23 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses memory models in Scheme programming language by giving several detailed examples. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses memory models in Scheme programming language by giving several detailed examples. 4331558504 Tue, 22 Jul 2008 13:54:37 GMT Jerry Cain 0:50:19 no Engineering Stanford no 23 24. Programming Paradigms Lecture 24 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain introduces Python, a scripting language, by providing a basic overview of the language. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain introduces Python, a scripting language, by providing a basic overview of the language. 4331558510 Tue, 22 Jul 2008 13:49:41 GMT Jerry Cain 0:48:37 no Engineering Stanford no 24 25. Programming Paradigms Lecture 25 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses the Python dictionary. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses the Python dictionary. 4331558516 Tue, 22 Jul 2008 13:43:46 GMT Jerry Cain 0:48:44 no Engineering Stanford no 25 26. Programming Paradigms Lecture 26 Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain lectures on the Python programming language in relation to XML processing and the internet. Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain lectures on the Python programming language in relation to XML processing and the internet. 4331558522 Tue, 22 Jul 2008 13:38:44 GMT Jerry Cain 0:49:49 no Engineering Stanford no 26 27. Programming Paradigms Lecture 27 Lecture by Sasha Rush for the Programming Paradigms (CS107) course in the Stanford University Computer Science department. Sasha lectures on the Haskell programming language, providing several code examples. Lecture by Sasha Rush for the Programming Paradigms (CS107) course in the Stanford University Computer Science department. Sasha lectures on the Haskell programming language, providing several code examples. 4331558528 Tue, 22 Jul 2008 13:34:11 GMT Jerry Cain 0:57:54 no Engineering Stanford no 27