Comp 524-Programming Languages:
Course Overview
Instructor: (FB 150,
Copyright By PowCoder代写 加微信 powcoder
Text Book and Learning Resources
Programming Language Pragmatics
By , Online, Used by by earlier instructor ( )
What I teach will be governed by assignments
Lots of online resources available for almost each (traditional) concept I cover
Will build on material I created last semester when I taught the course for the first time
Recorded Power Point Lectures
PowerPoint of Slides
(WPS Office on Android will play synchronized audio) Can escape out into unsynchronized or no audio mode
Slide Show Synchronized Recording and Animations
PowerPoint Slides With Unsynchronized Recordings and Media Control
Play audio only when necessary
Recorded YouTube Videos
rewind, pause, fast-forward to match understanding pace
PPT modes allow slide-based browsing but requires downloading PPT
Zoom recordings and YouTube video generated from PPT Recordings, do not allow slide-based browsing
Live Recording Advantages
Socratic Question and Answer Mode
Critical thinking vs. Information Flow
Lectures a series of questions and answers
Live/PPT Recording Disadvantages
Long pauses when students answer
Cannot hear student answer when lectures are face to face
PPT clips narration at slide transitions
Special Slides For Student Interaction
After asking a question in a Q/A slide, will have a next special Q/A interaction slide when students answer
Will summarize student answers in the following Q/A summary slide, and remove Q/A interaction slide in published version of PPT slides and YouTube recordings
What about unsolicited student questions and answers?
Solicited questions will be frequent. Ask it at the next Q/A slide. Do not raise hand earlier.
Any questions so far ?
Special Slides For Student Interaction (Q/A Interaction)
After asking a question in a Q/A slide, will have a next special Q/A interaction slide when students answer
Will summarize student answers in the following Q/A summary slide, and remove Q/A interaction slide in published version of PPT slides and YouTube recordings
What about unsolicited student questions and answers?
Solicited questions will be frequent. Ask it at the next Q/A slide. Do not raise hand earlier.
Any questions so far ?
Special Slides For Student Interaction (Q/A Summary)
After asking a question in a Q/A slide, will have a next special Q/A interaction slide when students answer
Will summarize student answers in the following Q/A summary slide, and remove Q/A interaction slide in published version of PPT slides and YouTube recordings
What about unsolicited student questions and answers?
Solicited questions will be frequent. Ask it at the next Q/A slide. Do not raise hand earlier.
Any questions so far ?
Syllabus Handout in Google Docs
All docs, including assignments, will be commentable Google Docs
Multiple ways to succeed!
Exam nature and dates TBA (depends on proctoring support)
Diaries explained in Piazza post
Questions/Comments?
Grading (Q/A Interaction)
Multiple ways to succeed!
Exam nature and dates TBA (depends on proctoring support)
Diaries explained in Piazza post
Questions/Comments?
Grading (Q/A Summary)
Multiple ways to succeed!
Exam nature and dates TBA (depends on proctoring support)
Diaries explained in Piazza post
Questions/Comments?
Many Ways to Succeed (Fall 19 Grades)
No fixed mapping from scores to grades
Looked for gaps and other factors
Why Q&A? (Q/A Interaction)
Why Q&A? (Q/A Summary)
Instructor needs feedback
Learn to speak in public (I will ask questions every one can answer such as what was interesting in the material you studied)
Oral “exam” over whole semester
Retain material better, logical vs physical attendance
Recruiters regularly ask about oral and verbal skills
NSF Survey asked what was being done to improve these skills
Assignment Layering Themes
Social distancing application in different languages
Java, Java + MVC/Factories, Java + Weka, Prolog, SML, Lisp
Extend a Java-based Lisp interpreter skeleton (includes parser) to support Lisp++
quote, list, eval, load, cond, <, >, <=, >=, and, or, not, setq, lambda expressions, function expressions, funcall, defun, let, curry, defCurry, eager evaluation, lazy evaluation, distributed evaluation
Display of recursive Lists
Using Java and alternative paradigms in Lisp++
Late Penalty
Assignments build on each other so being more than 2 weeks late is not a good idea!
Scaffolding?
Lectures will be assignment centered, and give pseudo code for Lisp++ implementation that has to be translated into real code
Traditional Piazza-based help from instructors
Remote synchronous help during office hours
Optional homegrown (and hence non industrial-strength) tools to help with coding and identification of requirements.
Assignment descriptions will be looooooong to reduce ambiguity and fill in gaps (in small print to be read if stuck) left by lectures – key to success is to read everything
Google doc comments another way to get asynchronous hep
Asynchronous Communication: email!
Any technical question is of interest to others should be a public message giving context to answer them
Do not send code on Piazza in private or public messages, summarize code in English in public messages
Collaboration
Can discuss solutions with each other at a high level
Not at the code level
Sharing of code or diary text and of course exam solutions is probably easily caught honor code violation
Can and should help each other with debugging as long as it does not lead to code sharing
In-Class Collaboration
In face to face classes, much spontaneous student collaboration occurred before and after class when students were at a common meeting place
To help simulate this virtually, lecture zoom session starts at 12:30 pm and ends at 4:30pm (can extend it)
Breakout rooms for smaller sessions defined by audience rather than host?
Questions/Comments?
Questions/Comments? (Q/A interaction)
Questions/Comments? (Q/A Summary)