Cmsc330

Type Safety in Programming Languages •In a type-safe language, the type system enforces well defined behavior. Formally, a language is type-safe iff G⊢e!tand G⊢Aimplies A;e"#vand⊢v!tor that eruns forever •A;e"#v says eevaluatesvunder environment A •G⊢e!tsays ehas typetunder type environment G •G⊢A says Ais compatible with G -For all x, A(x) = vimpliesG(x) = tand⊢v!t

Cmsc330. Jul 19, 2021 · CMSC 330 Fall 2020. 24 Operational Semantics of LC Each ‘kind’ of term gets its own inference rule When we reach a ‘bare’ lambda, we’re done: CMSC 330 Fall 2020 val = ρ v A; (λx.e1)⇒(λx.e1) 25 Operational Semantics of LC The meaning of variables is based on the current

View Test prep - CMSC 330 Quiz 1.docx from CMSC 330 at University of Maryland, University College. CMSC 330 Quiz 1 1. Which of the following phases are generally not included in the first pass of

CMSC 330 -Spring 2024 Note: The keyword pub makes any module, function, or data structure accessible from inside of external modules. The pub keyword may also be used in a use declaration to re-export an identifier from a namespace. Note that we make the entire trait public, not individual elements of it.You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window.Jul 11, 2022 · Previous required texts for CMSC 330 have chapters on relevant topics covered in this course. If the lecture notes are insufficient, look for these books. They should be available in the university library. Concepts of Programming Languages (Seventh Edition) by R. Sebesta, Addison Wesley (2006) (ISBN 0-321-33025-0).CMSC 330 -Spring 2017 11 Recursive Descent Parsing Goal •Determine if we can produce the string to be parsed from the grammar's start symbol Approach •Recursively replace nonterminal with RHS of production At each step, we'll keep track of two factsLanguages. C++ 99.6%. C 0.4%. C++ Math Expression Evaluator. Contribute to ahong1234/CMSC-330-Project-2 development by creating an account on GitHub.CMSC330. Organization of Programming Languages Fall 2022. Instructors. Name Section Office E-mail Office Hours (also available by appointment) Cliff: 020X IRB2238:

Environment based evaluator (interpreter) QCheck:Property-Based Random Testing. Module examples. Lambda Calculus. 99 Problems in Rust. Lecture notes and examples for the CMSC330 Spring 2024 - cmsc330spring2024/README.md at main · anwarmamat/cmsc330spring2024.cs.umd.eduCMSC330. Organization of Programming Languages Spring 2024. Instructors. Name Section Office E-mail Office Hours (also available by appointment) Cliff: 030X, 040X ...Sep 7, 2022 · CMSC 330, Fall 2018 — Midterm 1 Name Teaching Assistant Kameron Aaron Danny Chris Michael P. Justin Cameron B. Derek Kyle Hasan Shriraj Cameron M. Alex Michael S. Pei-Jo Instructions • Do not start this exam until you are told to do so. • You have 75 minutes for this exam. • This is a closed book exam. No notes or other aids are allowed.CMSC 330 Spring 2020 14 Recursive Descent Parsing (cont.) Key step: Choosing the right production Two approaches •Backtracking ØChoose some production ØIf fails, try different production ØParse fails if all choices fail •Predictive parsing (what we will do) ØAnalyze grammar to find FIRST sets for productionsOct 6, 2018 · Exactly one sequence of steps for each string. All examples so far. Nondeterministic Finite Automata (NFA) May have many sequences of steps for each string. Accepts if any path ends in final state at end of string. More compact than DFA. Ø But more expensive to test whether a string matches.CMSC330, Fall 22. Discussions. Discussion 1 - Intro to Ruby and Regex; Discussion 2 - Modules, Mixins and File I/O; Discussion 3 - Intro to OCaml; Discussion 4 - Map, Fold and Types; Discussion 5 - OCaml Exercises; Discussion 6 - Tail Recursion and PBTs; Discussion 7 - NFAs and DFAs;CMSC - Computer Science. CMSC100 Bits and Bytes of Computer and Information Sciences (1 Credit) Students are introduced to the fields (and disciplines) of computer science and information science within a small classroom setting. They will learn to make a successful transition from high school to the university, while exploring study skills ...

Parsing: taken list to AST. can checks if text is grammatically correct. Many types of parsers: we will use recursive decent. RDP is top down; Grammar slides showed bottom up. Consider the basic grammar for polish notation. \(E \rightarrow A\vert + A\ E \vert - A\ E\) \(A \rightarrow 0\vert 1\vert \dots\vert 9\) Which Branch am I in/looking for?Class web pages. Below are the web pages for classes in the Department of Computer Science at the University of Maryland. If you are teaching a class and would like to add a link here, just send a note to [email protected] . Remember that students and faculty from around the world read these and do link to them!CMSC330 (Perm Req) Organization of Programming Languages. Syllabus Repository (0) Credits: 3. Grad Meth: Reg. Prerequisite: Minimum grade of C- in CMSC250 and CMSC216.CMSC330 Course Staff University of Maryland Department of Computer Science Name:Exam 1 Solutions UID: I pledge on my honor that I have not given or received any unauthorized assistance on this assignment/examination Signature: Ground Rules • You may use anything on the accompanying reference sheet anywhere on this examcmsc330 cmsc330 Public. Forked from anwarmamat/cmsc330. Prolog. cmsc330summer22 cmsc330summer22 Public. OCaml 3 Repositories Type. Select type. All Public Sources Forks Archived Mirrors Templates. Language. Select language. All OCaml Prolog. Sort. Select order. Last updated ...Cmis 242 is almost the opposite in that it can be a little tough, but don't know if it's as time consuming. So far for core classes at least, CMSC 350 has proven the most difficult and time consuming although to be fair I think personal issues prevented me from getting the most out of the reading. 2. AnxiousKirby.

Bright star automotive tire pros douglasville photos.

Explores language features such as formal syntax, scoping and binding of variables, higher-order programming, typing, and type polymorphism. Introduces finite automata, context …CMSC330 is a very content-heavy class - the sheer amount of information being packed into a single week is astounding. However, students have already taken or gotten credit for CMSC131, CMSC132, and CMSC216 by this point, so learning new material should not be a foreign experience.Ideas or features from one language translate to, or are later incorporated by, another. Ø Many “design patterns” in Java are functional programming techniques. Using the right programming language or style for a problem may make programming. Ø Easier, faster, less error-prone. Studying Programming Languages.My course notes for CMSC 330 (Organization of Programming Languages) - CMSC330/OCaml.md at master · PranavRudra/CMSC330

CMSC 330: Organization of Programming Languages Context Free Grammars CMSC 330 Spring 2018 1. 2 Front End Abstract Syntax Tree Back End Source Compiler / Interpreter Code Generator An-alyzer Opt-imizer Architecture of Compilers, Interpreters CMSC 330 Spring 2018. Front End -Scanner and Parser 4 Front EndNAME: Reginald B Carey. EMPLID: 0316442. PROJECT: An Expression Interpreter - Project 2. COURSE: CMSC 330 - 7980. SECTION: 2158. SEMESTER: FALL 2015. ###Instructions. ##The second project involves completing and extending the C++ program that evaluates statements of an expression language contained in the module 3 case study.CMSC 330 Quiz 3 Spring 2022 Solutions Q1. NFA to DFA Consider the following NFA: Note: You can open this image in a new tab to make it easier to reference. Q1.1. Which of the following strings are accepted by the NFA? • Empty String • aab • baa • abbab • abaaab Q1.2. Write a regular expression for the language accepted by the NFA. (ab|a)+Second project for my CMSC 330 Advanced Programming Languages class, taken in 2023 at UMGC. Ran this command to link all files into an executable: g++ project2.cpp operand.cpp parse.cpp subexpression.cpp symboltable.cpp variable.cpp minimum.cpp maximum.cpp average.cpp ternary.cpp quaternary.cpp variableException.cpp -o project2.exeCMSC 330: Organization of Programming Languages Parsing CMSC 330 Summer 2021 1. CMSC 330 Summer 2021 2 Recall: Front End Scanner and Parser Front End Source Scanner Parser Token Stream • Scanner / lexer / tokenizer converts program source into tokens (keywords, variable names, operators, numbers, etc.)Prerequisite: Minimum grade of C- in CMSC330 and CMSC351 and 1 course with a minimum grade of C- from (MATH240, MATH341, MATH461); or must be in the (Computer Science (Doctoral), Computer Science (Master's)) program; or permission of the instructor. Restriction: Permission of CMNS-Computer Science department.View CMSC 330 Quiz #6.docx from CMSC 330-6380 at University of Maryland, University College. CMSC 330 Quiz #6 Question 1 (5 points) Which type of multiple inheritance does Java support? Question 1Ideas or features from one language translate to, or are later incorporated by, another. Ø Many “design patterns” in Java are functional programming techniques. Using the right programming language or style for a problem may make programming. Ø Easier, faster, less error-prone. Studying Programming Languages.Therefore in CMSC 330, we will provide less debugging help than some students may be used to. If you come in with a question, expect to be pointed in the right direction, but it will be up to you to finish solving the problem on your own. Office hours for the instructional staff will be posted on the course web page a few days into the semester.You can't perform that action at this time. Organization of Programming Languages | University of Maryland | Fall 2016 - cmsc330/project4/parser.ml at master · a-blender/cmsc330.CMSC 330 is a course on the organization of programming languages, taught by Anwar Mamat and Roger Eastman. Find out the instructors, TAs, lectures, discussions, exams, textbooks and office hours for this course.

CMSC 330 Spring 2021. Using cargo •Make a project, build it, run it % cargo new hello_cargo--bin % cd hello_cargo % ls Cargo.tomlsrc/ % lssrc main.rs % cargo build

Lower-level CMSC courses provide extensive debugging and development help in office hours, but upper-level CMSC courses expect students to complete projects with minimal extra help. Therefore in CMSC 330, we will provide less debugging help than some students may be used to.May 18, 2022 · CMSC 330 Quiz 1 Fall 2021 Solutions Q1. OCaml Typing . Q1.1. Write an OCaml expression of type (int * string list) (330, [“cmsc”]) Q1.2. Write an OCaml expression of type 'a -> 'a -> 'a . fun x y -> if x = y then x else y . Q1.3. Write an OCaml expression of type ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c . Hint: Recall function composition from ...CMSC330 Course Staff University of Maryland Department of Computer Science Name: UID: I pledge on my honor that I have not given or received any unauthorized assistance on this assignment/examination Signature: Ground Rules • You may use anything on the accompanying reference sheet anywhere on this examPiazza is designed to simulate real class discussion. It aims to get high quality answers to difficult questions, fast! The name Piazza comes from the Italian word for plaza--a common city square where people can come together to share knowledge and ideas. We strive to recreate that communal atmosphere among students and instructors.Jul 11, 2022 · Therefore in CMSC 330, we will provide less debugging help than some students may be used to. If you come in with a question, expect to be pointed in the right direction, but it will be up to you to finish solving the problem on your own. Office hours for the instructional staff will be posted on the course web page a few days into the semester.I'm taking CMSC330 over the summer with Cliff Bakalian. I'm planning on accepting a job that requires me to work 10-15 hours a week so I wanted to know if it sounds reasonable for someone to manage a part time job and this course throughout a five week summer semester. Thanks! If you did reasonably ok in 216 then I wouldn't worry too much.CMSC330 Projects Wikimedia Anti-Disinformation Map Aug 2023 Wikipedia is a trusted source of knowledge for millions of people worldwide. Edited by thousands of volunteers across more than 300 ...CMSC 330 Spring 2024 a a 4 Comparing DFAs and NFAs (cont.) NFAs may have transitions with empty string label •May move to new state without consuming character DFA transition must be labeled with symbol •A DFA is a specific kind of NFA CMSC 330 Spring 2024 ε e-transition 5 DFA for (a|b)*abb CMSC 330 Spring 2024 6cmsc330 cmsc330 Public. Forked from anwarmamat/cmsc330. Prolog. cmsc330summer22 cmsc330summer22 Public. OCaml 3 Repositories Type. Select type. All Public Sources Forks Archived Mirrors Templates. Language. Select language. All OCaml Prolog. Sort. Select order. Last updated ...

2020 bat quarters worth.

Ibkr invalid username or password.

May 19, 2020 · CMSC 330 -Spring 2020. Type Inference •As we just saw, a declared variable need not be annotated with its type –The type can be inferred –Type inference happens as a part of type checking •Determines a type that satisfies code’s constraints 40 (* requires n>=0 *) (* returns: n! *) let rec fact n =Ideas or features from one language translate to, or are later incorporated by, another. Ø Many "design patterns" in Java are functional programming techniques. Using the right programming language or style for a problem may make programming. Ø Easier, faster, less error-prone. Studying Programming Languages.Ideas or features from one language translate to, or are later incorporated by, another. Ø Many “design patterns” in Java are functional programming techniques. Using the right programming language or style for a problem may make programming. Ø Easier, faster, less error-prone. Studying Programming Languages.Apr 18, 2023 · CMSC 330 -Spring 2021 Note: The keyword pub makes any module, function, or data structure accessible from inside of external modules. The pub keyword may also be used in a use declaration to re-export an identifier from a namespace. Note that we make the entire trait public, not individual elements of it.CMSC330 Spring 2022 20. Studying Programming Languages. •Will make you a better programmer. ∙Programming is a human activity. Features of a language make it easier or harder to program for a specific application. ∙Ideas or features from one language translate to, or are later incorporated by, another.Organization of Programming Languages | University of Maryland | Fall 2016 - cmsc330/project3/nfa.ml at master · a-blender/cmsc330Prerequisite: Minimum grade of C- or higher in CMSC330 and CMSC351; and 1 course with a minimum grade of C- or higher from ( MATH240, MATH461 ). Restriction: Permission …A collection of projects completed for CMSC330 course @UMD with Clyff. Involves languages such as Ruby, OCAML, and Rust. - lamula21/cmsc330Select 6 credits from CMSC 300- or 400-level courses (not eligible CMSC330 & CMSC351) I-Series I-Series Can overlap with Distributive Studies or I-Series Requirement Understanding Plural Societies Students must take enough elective courses in any discipline(s) they choose to reach the total number of 120 credits required for graduation.Discussion 1 - Ruby. Discussion 2 - Ruby Part 2. Discussion 3 - OCaml. Discussion 4 - Higher Order Functions. Discussion 5 - Project Review. Discussion 6 - NFA and DFA. Discussion 7 - Operational Semantics. Discussion 8 - Context Free Grammars. Discussion 9 - Lexing, Parsing, Interpreting. ….

Emphasis is given to practical aspects of machine learning and data mining. Prerequisite: Minimum grade of C- in CMSC320, CMSC330, and CMSC351; and 1 course with a minimum grade of C- from ( MATH240, MATH341, MATH461 ); and permission of CMNS-Computer Science department.Teaching Assistant for Organization of Programming Languages(CMSC330) University of Maryland Aug 2021 - May 2023 1 year 10 months. College Park, Maryland, United States ...Chapter 1 Intro Hello There General Kenobi I took this course many moons ago and so now I'm making notes based on what I remember from the course and my ownCMSC 330 Summer 2021 2 Recall: Front End Scanner and Parser Front End Source Scanner Parser Token Stream • Scanner / lexer / tokenizer converts program source intoTherefore in CMSC 330, we will provide less debugging help than some students may be used to. If you come in with a question, expect to be pointed in the right direction, but it will be up to you to finish solving the problem on your own. Office hours for the instructional staff will be posted on the course web page a few days into the semester.EDIT: I had Dr. Hicks and the mean for the class was 79.93 with a std deviation of 12.18. Not sure what the curve was. I think that was the same class I had, curve was like 2 maybe 3 points. Anwar has said it'll be 1-2% Max IIRC, and since the average in the class right now is 80, I'd say don't expect too much!Dec 7, 2023 · CMSC330: Operational Semantics Chris Kauffman Last Updated: Tue Nov 7 09:15:45 AM EST 2023 1. Logistics Reading TBD Goals Notation and Mechanics of Operational Semantics A few Applications Practice Problems Assignments Project 6 Posted: Lambda Calculus Interpreter, Due 15-NovSep 7, 2022 · CMSC330 Fall 2019 - Final Exam First and Last Name (PRINT): 9-Digit University ID: Instructions:-Do not start this test until you are told to do so!-You have 120 minutes to take this midterm.-This exam has a total of 100 points.-This is a closed book exam. No notes or other aids are allowed.-Answer essay questions concisely in 2-3 …In CMSC330, we learn several different programming languages - each with its own advantages and disadvantages in real-world scenarios. For one of our projects, we were tasked with applying what we learned regarding OCaml into making a complex data structure that can accept different types of variables... Cmsc330, CMSC 330 -Spring 2024 Note: The keyword pub makes any module, function, or data structure accessible from inside of external modules. The pub keyword may also be used in a use declaration to re-export an identifier from a namespace. Note that we make the entire trait public, not individual elements of it., CMSC 330: Organization of Programming Languages Context Free Grammars CMSC 330 Spring 2024 1. Interpreters CMSC 330 Spring 2024 2 • Tokenizer (Scanner / lexer): • converts program source into tokens (keywords, variable names, operators, numbers, etc.) using regular expressions, Scanning ("tokenizing") Converts textual input into a stream of tokens •These are the terminalsin the parser's CFG •Example tokens are keywords, identifiers, numbers, punctuation, etc. Tokens determined with regular expressions •Identifiers match regexp[a-zA-Z_][a-zA-Z0-9_]* Simplest case: a token is just a string, After turning the US into Thunderdome over who would offer the biggest tax breaks for its new HQ, Amazon is pausing construction in Arlington. Remember when Amazon turned the Unite..., 3 days ago · Tutoring. How to Find Tutoring: Lower Level CMSC Tutoring: Are you currently taking CMSC131, CMSC 132, CMSC 216, CMSC 250, CMSC330, or CMSC351? The Iribe Initiative for Inclusion and Diversity in Computing (I4C) is offering free 1:1 Tutoring and Guided Study Sessions (GSS) to ALL students currently enrolled in these intro …, Date Topic Slides Notes; Aug. 28, 2023 030X Lecture Materials (Prof Kauffman) 030X Lecture Materials: 030X Lecture Materials; Aug. 29, 2023 Intro (Cliff) Intro, CMSC330 Spring 2022 20. Studying Programming Languages. •Will make you a better programmer. ∙Programming is a human activity. Features of a language make it easier or harder to program for a specific application. ∙Ideas or features from one language translate to, or are later incorporated by, another., The Iribe Initiative for Inclusion and Diversity in Computing (ONLINE & 1104 IRB) offers 1:1 tutoring AND Guided Study Sessions in several CMSC classes (CMSC131, CMSC 131A, CMSC 132, CMSC 216, CMSC 250, CMSC330, or CMSC351). *free; Students enrolled in 400 level courses may contact the Undergraduate Office at [email protected] to request help to find a tutor who has been vetted by the department., CMSC 330 - Advanced Programming Languages Programming Project 2 The second project involves completing and extending the C++ program that evaluates statements of an expression language contained in the module 3 case study. The statements of that expression language consist of an arithmetic expression followed by a list of assignments. Assignments are separated from the expression and each ..., a-blender/cmsc330. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository., CMSC330, Fall 22. Discussions. Discussion 1 - Intro to Ruby and Regex; Discussion 2 - Modules, Mixins and File I/O; Discussion 3 - Intro to OCaml; Discussion 4 - Map, Fold and Types; Discussion 5 - OCaml Exercises; Discussion 6 - Tail Recursion and PBTs; Discussion 7 - NFAs and DFAs;, Exactly one sequence of steps for each string. All examples so far. Nondeterministic Finite Automata (NFA) May have many sequences of steps for each string. Accepts if any path ends in final state at end of string. More compact than DFA. Ø But more expensive to test whether a string matches., Sep 24, 2019 · Therefore in CMSC 330, we will provide less debugging help than some students may be used to. If you come in with a question, expect to be pointed in the right direction, but it will be up to you to finish solving the problem on your own. Office hours for the instructional staff will be posted on the course web page a few days into the semester., Lower-level CMSC courses provide extensive debugging and development help in office hours, but upper-level CMSC courses expect students to complete projects with minimal extra help. Therefore in CMSC 330, we will provide less debugging help than some students may be used to., Rc<T> (reference counter) is a smart pointer that associates a counter with the underlying reference. Calling Rc::clone(&a) copies the pointer (not the pointed to data) and increments counter. Calling drop decrements the counter, freeing the data when count equals 0., CMSC 330, Fall 2018 — Midterm 1 Name Teaching Assistant Kameron Aaron Danny Chris Michael P. Justin Cameron B. Derek Kyle Hasan Shriraj Cameron M. Alex Michael S. Pei-Jo Instructions • Do not start this exam until you are told to do so. • You have 75 minutes for this exam. • This is a closed book exam. No notes or other aids are allowed., Languages. Java 52.5%. Python 47.5%. Fall 2020 1/2 cmsc 330 projects and discussions. Contribute to yaelBrown/CMSC330 development by creating an account on GitHub., TGSpring/CMSC-330-Project-2. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main. Switch branches/tags. Branches Tags. Could not load branches. Nothing to show {{ refName }} default View all branches. Could not load tags. Nothing to show, Feb 14, 2024 · CMSC 330 -Spring 2021. Recap: Rules of References 1.At any given time, you can have eitherbut not both of –One mutable reference –Any number of immutable references 2.References must always be valid – A reference must never outlive its referent CMSC 330 -Spring 2021. Created Date:, CMSC 330 Spring 2021 5 Heap memory – allocated when needed (by malloc), and freed (by free) when no longer needed Static memory – (global variable g) at a fixed address, never freed LIFO/stack memory – (parameter y, local variables p, z) allocated at start of function call, freed when function returns, A collection of projects completed for CMSC330 course @UMD with Clyff. Involves languages such as Ruby, OCAML, and Rust. - lamula21/cmsc330, An imperative, object-oriented scripting language. Full object-orientation (even primitives are objects!) And functional-style programming paradigms. Dynamic typing (types hidden, checked at run-time) Similar in flavor to other scripting languages (Python) Created in 1993 by Yukihiro Matsumoto (Matz), A collection of projects completed for CMSC330 course @UMD with Clyff. Involves languages such as Ruby, OCAML, and Rust. - lamula21/cmsc330, Course: CMSC330 Organization of Programming Languages: Lectures: 010X: 11:00-12:15 IRB0324 020X: 12:30-1:45 IRB0324 030X: 9:30-10:45 ESJ2208: Semester, The prerequisites for this course are: Programming experience equivalent to CMSC 106, 131, or ENEE 150; plus two courses chosen from CMSC351, CMSC330, ENEE324, ENEE380, and 400-level MATH courses. Tentative midterm exams date/time: In class on March 13. Final exam date/time/place: (tentative) Wednesday, May 15, 1:30-3:30pm in our regular classroom., We would like to show you a description here but the site won’t allow us., Computer Science Department Site. Open Seats as of. 05/24/2024 at 10:30 PM. CMSC330. (Perm Req) Organization of Programming Languages. Syllabus Repository (0) Credits: 3. : Prerequisite: Minimum grade of C- in CMSC250 and CMSC216., Therefore in CMSC 330, we will provide less debugging help than some students may be used to. If you come in with a question, expect to be pointed in the right direction, but it will be up to you to finish solving the problem on your own. Office hours for the instructional staff will be posted on the course web page a few days into the semester., Cmsc 330 Spring 2025. Or must be in the computer. Web application development with javascript provides an introduction to modern ways of developing web applications/services using javascript for both front. Saved searches use saved searches to filter your results more quickly Cmsc 330 at the university of maryland,. A Study Of Programming Languages, Focusing On, Sep 7, 2022 · CMSC 330, Fall 2018 | Midterm 2 Name Teaching Assistant Kameron Aaron Danny Chris Michael P. Justin Cameron B. Derek Kyle Hasan Shriraj Cameron M. Alex Michael S. Pei-Jo Instructions Do not start this exam until you are told to do so. You have 75 minutes for this exam. This is a closed book exam. No notes or other aids are allowed., Computer Science questions and answers. "Hello, I'm doing the CMSC 330 Project 2 assignment. I have most of it finished but need assistance with the final part. I'm able to get the results to show on my console but I don't know how to pass the results to the rest of the program. I can get the variable "line" to the console., CMSC 330, Fall 2018 — Midterm 1 Name Teaching Assistant Kameron Aaron Danny Chris Michael P. Justin Cameron B. Derek Kyle Hasan Shriraj Cameron M. Alex Michael S. Pei-Jo Instructions • Do not start this exam until you are told to do so. • You have 75 minutes for this exam. • This is a closed book exam. No notes or other aids are allowed., CMSC330 is a lot of work, but I heard that they don't give as much work in the summer. I had friends that took it last summer, it was a lot of work, but doable. If you stay disciplined, stay focused, and practice the different programming languages, you should fine. You'll tackle 3 different languages Ruby, OCaml and Prolog.