Intro to CSC270 Survey of Programming Languages Pepper
Goals Learn new languages quickly All paradigms Learn C / C++ fairly well Learn Racket and Prolog slightly All paradigms Understand paradigm differences Learning new languages and APIs is standard industry practice
Languages of CSC270 Language Paradigm Java Object Oriented (and perhaps procedural) C Procedural (Imperative) C++ Dr. Racket Impure Functional Prolog Declarative Imperative : Commands to take action to change state of program Procedural: Imperative built from subroutines (or functions or methods) Declarative: Describe desired result without listing steps to perform Logical: Program searches for proofs of statements Functional: Defines functions as mathematical functions with set inputs yielding defined outputs avoiding states and changeable data
Collaboration Group final project Some other group projects Getting help from friends/ tutors: Cite the name / know the code Getting help from the internet Cite the website; if black box code: then state it Otherwise, be able to explain any line of code you submit
Final Project Puzzle Generator Tech details Randomly generate different puzzles of one type Display the puzzle Solve the puzzle Ask for solution and evaluate response Generate some possible solutions (more than one if available) Tech details 3 languages Full written specification Pass data via files
Myprogramminglab Need to purchase this Usually with your textbook C and C++ Weekly homework Helpful prompts
Organization C & Starting Prolog: Test C++ : Test Racket & Prolog : Cumulative Final Assigned reading on syllabus 6-10 hours homework per week, more for project Work on panther or local, but will grade from a run on panther Short quizzes occasionally