Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Computer Laboratory – Course pages 2014–15: Concepts in Programming Languages – Course materials Skip to content | Access key help Search Advanced search A–Z Contact us Computer Laboratory Computer Laboratory Teaching Courses 2014–15 Concepts in Programming Languages Course materials Computer Design Computer Graphics and Image Processing Computer Networking Concurrent and Distributed Systems ECAD and Architecture Practical Classes Further Java Mathematical Methods for Computer Science Programming in C and C++ Prolog Semantics of Programming Languages Software Engineering Unix Tools Compiler Construction Computation Theory Databases Logic and Proof Artificial Intelligence I Complexity Theory Concepts in Programming Languages Economics, Law and Ethics Security I Course pages 2014–15 Concepts in Programming Languages Syllabus Course materials Information for supervisors Handouts Lecture slides (updated notes for lecture 8 (Topic X), slide 258 onwards) Revision Guide Supervision question sets courtesy of Andrew Rice Supervision 1 Supervision 2 Notes by topic Introduction and motivation. Supplementary reading material: K. Zuse. Plankalkül. The first procedural language: FORTRAN (1954-58). Supplementary reading material: Fortran. The first declarative language: LISP (1958-62). Supplementary reading material: J. McCarthy. Recursive functions of symbolic expressions and their computation by machine. Communications of the ACM, 3(4):184-195, 1960. Block-structured procedural languages: Algol (1958-68) and Pascal (1970). Appendix: BCPL (1967) and C (1971-78) Supplementary reading material: D. E. Knuth. The remaining trouble spots in ALGOL 60. Communications of the ACM, Volume 10, Issue 10, pages 611-618, 1967. B. Kerninghan. Why Pascal is not my favorite programming language. AT&T Bell Laboratories. Computing Science Technical Report No. 100, 1981. Object-oriented languages --- Concepts and origins: SIMULA (1964-67) and Smalltalk (1971-80). SML code: Objects in SML!? Programming language: Squeak. Supplementary reading material: A. C. Kay. The early history of Smalltalk. ACM SIGPLAN Notices, Volume 28, No. 3, 1993. P. Wegner. Concepts and Paradigms of Object-Oriented Programming Expansion of OOPSLA-89 Keynote Talk. B. Stroustrup. What is Object-Oriented Programming? (1991 revised version). Proc. 1st European Software Festival. February, 1991. Languages for concurrency and parallelism Types in programming languages: ML (1973-1978). Supplementary reading material: A. Koenig. An anecdote about ML type inference. USENIX Symp. on Very High Level Languages, 1994. Data abstraction and modularity: SML Modules (1984-97). Supplementary reading material: M. Tofte. Four Lectures on Standard ML. LFCS Report Series ECS-LFCS-89-73, 1989. A modern language design: Scala (2004-2006). Programming language: Scala. Supplementary reading material: M. Odersky et al. An overview of the Scala programming language. Technical Report LAMP-REPORT-2006-001, Second Edition, 2006. M. Odersky et al. A Tour of the Scala Programming Language. Programming Methods Laboratory, EPFL, 2007. M. Odersky. Scala By Example. Programming Methods Laboratory, EPFL, 2008. Miscellaneous concepts. Books Main: M. Scott. Programming Language Pragmatics (2nd edition). Morgan Kaufmann, 2006. J.C. Mitchell. Concepts in programming languages. Cambridge University Press, 2003. T. W. Pratt and M.V.Zelkowitz. Programming Languages: Design and implementation (3rd edition). Prentice Hall, 1999. R. Harper. Practical Foundations for Programming Languages. Cambridge University Press, 2013. Other: R. L. Wexelblat (ed.). History of Programming Languages. ACM Monograph Series, 1981. N. Metropolis, J. Howlett, G.-C. Rota (eds.). A History of Computing in the Twentieth Century: A Colletion of Essays. Academic Press, 1980. T.J. Bergin and R. G. Gibson (eds.). History of programming languages - II. ACM Press, 1996. Further reading material P.J. Landin. The next 700 programming languages. Communications of the ACM, Volume 9, Issue 3, 1966. D. D. Clark. The structuring of systems using upcalls. Proceedings of the tenth ACM Symposium on Operating Systems Principles, pages 171-180, 1985. L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, Vol 17 n. 4, pages 471-522, 1985. P. Canning, W. Cook, W. Hill, W. Olthoff, J.C. Mitchell. F-bounded polymorphism for object-oriented programming. Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture, 1989. R. P. Draves, B. N. Bershad, R. F. Rashid, and R. W. Dean. Using Continuations to Implement Thread Management and Communication in Operating Systems. Proceedings of the thirteenth ACM Symposium on Operating Systems Principles, pages 122-136, 1991. M. P. Jones. Using Parameterized Signatures to Express Modular Structure. In Proceedings of the Twenty Third Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 1996. M. Odersky, C. Zenger, and M. Zenger. Colored local type inference. ACM SIGPLAN Notices archive. Volume 36, Issue 3, pages 41-53, 2001. R. Garcia, J. Jarvi, A. Lumsdaine, J. G. Siek, and J. Willcock. A comparative study of language support for generic programming. ACM SIGPLAN Notices, Proceedings of the OOPSLA'03 Conference, 2003. A. Kennedy and C. Russo. Generalized Algebraic Datatypes and Object-Oriented Programming. Conference on Object-Oriented Programming Systems, Languages, and Applications, 2005. N. Wirth. Good Ideas, Through the Looking Glass. IEEE Computer, pages 56--68, 2006. P. Hudak, J. Hughes, S. Peyton Jones, P. Wadler. A History of Haskell: being lazy with class. The Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III) San Diego, California, June 9-10, 2007. A. Kennedy. Lecture slides on Java (1996) and C# (2000), 2007. © 2015 Computer Laboratory, University of Cambridge Information provided by Prof Alan Mycroft