Giter VIP home page Giter VIP logo

cs280's Introduction

CS 280: Programming Language Concepts

Spring 2022 Syllabus

CS 280 - Programming Language Concepts

Conceptual study of programming language syntax, semantics and implementation. Course covers language definition structure, data types and structures, control structures and data flow, run-time consideration, and interpretative languages.

Instructor

Course Instructor: Dr. Bassel Arafeh

Textbook

Robert W. Sebesta, Concepts of Programming Languages, 12th Edition., Pearson, 2019. ISBN-13 978-0-13499718-6

Goals for the Course

At the conclusion of this course, the successful (passing) student would have learned:

  1. The student will be able to recognize similar features of different programming languages.
  2. The student will have an easier time learning new programming languages.
  3. The student will gain an appreciation of the strengths and weaknesses of different programming languages.
  4. The student will demonstrate an ability to apply knowledge of computing and mathematics appropriate to the discipline.
  5. The student will demonstrate an ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. 2
  6. The student will demonstrate an ability to design, implement, and evaluate a computer- based system, process, component, or program to meet desired needs.
  7. The students will recognize the need for and an ability to engage in continuing professional development.
  8. The student will demonstrate an ability to use current techniques, skills, and tools necessary for computing practice.

Major Topics

• Common features of programming languages
• Language Syntax and Semantics
• Grammars
• Lexical and syntax analysis
• Names, bindings, and scopes
• Data Types
• Expressions, assignment statement, and control flow statements
• Subprograms
• Abstract data types
• Support for object-oriented programming\

Grading

Programming Assignments 30%
Recitation Assignments 20%
Midterm 20%
Final 30%

Grading Scale

A >= 88%
B+ 82%-88%
B 76%-82%
C+ 70%-76%
C 60%-70%
D 50%-60%
F < 50%

Course Format and General Policies

CS280 is being taught in lecture/lab format. Lectures will be held on Mondays, and lab sections will meet on Wednesdays, except of the Wednesday after Labor Day which will be a Lecture. More detailed instructions related to recitation assignments (RAs), programming projects (PAs), vocareum environment and Exams will be given later on.

  1. Recitation Assignments
    Recitation Assignments (RA) are short programming assignments that will be graded as part of your final course grade. There will be 9 recitation assignments with a weight of 20% of your total grade. A RA work that is assigned at a lab class on Thursday will be due by midnight on Monday at 11:59 PM. Extended submission period of RAs will be allowed till Wednesday at 11:59 PM with a penalty of 25% deduction. Note, no RA submissions will be considered after Wednesday at 11:59 PM.

  2. Programming Assignments
    There will be 3 programming projects with a weight of 30% of your total grade. All submissions are done through Canvas to the Vocareum Environment. Extended submission period of PAs will be allowed with a fixed penalty of 25% deduction. PAs submissions with penalty will extend for 3 days after its announced due date. The tentative schedule of posting the programming projects and their due dates are shown in the following table. See also the course calendar schedule for more details.
    Note: All programming assignments must be written in C++, and must be submitted through Canvas to the Vocareum Environment for automatic grading.

    Programming Project Points (%) Total: 30 Posting Date Due Date Deadline with Penalty
    1 10 Feb. 17, 2022 Mar. 6, 2022 Mar. 9, 2022
    2 10 Mar. 24, 2022 April 10, 2022 April 13, 2022
    3 10 April 14, 2022 May 1st, 2022 May 4, 2022
  3. Mid-term and Final Exams
    All Exams are conducted online and require Respondus Lockdown Browser and Monitor. Please read the following NJIT policy in regard to using Lockdown Browser and Monitor as the proctoring method. The course will use the “New” quizzes engine on Canvas. The instructions required to prepare yourself for an online quiz with a Lockdown Browser and monitor are shown below. The common midterm will be on Monday, March 21, 2022 from 4:00 pm to 5:45 pm. The final exam date will be determined later on. However, the Spring 2022 finals will be during the period May 6-12, 2022. Both exams MUST be taken by all students and cannot be rescheduled.

General Language for All Courses

NJIT policy requires that all midterm and final exams must be proctored, regardless of delivery mode, in order to increase academic integrity. Note that this does not apply to essay or authentic based assessments. Effective beginning Fall semester 2019, students registered for a fully online course section (e.g., online or Hyflex mode) must be given the option to take their exam in a completely online format, with appropriate proctoring.
In this course you will be required to use the following proctoring method to ensure academic integrity for exams. Please see NJIT’s response to questions about online proctoring here. See below for more information about how exams will be proctored in this course.

For “New” Quizzes in Canvas

If a New Quizzes assessment requires the use of LockDown Browser, it will automatically launch from the student’s regular browser session. At the end of the quiz, LockDown Browser will close, allowing the student to continue with their standard browser. To be clear, the LockDown Browser application must first be installed to the computer or device. But once installed, it will automatically launch (and close) as needed with New Quizzes.

  1. Download and install LockDown Browser from this link: http://www.respondus.com/lockdown/download.php?id=264548414
  2. Once your download and installation has finished, log into Canvas using your standard browser.
  3. From your Dashboard or under “Courses”, click on the course in which you have to take the exam that requires LockDown Browser.
  4. After you enter the course, find the exam and click on it.
  5. A new tab will open with a message stating “Assessment Loading”. You will also see a pop-up window asking you to open Lockdown Browser. Click “Open Lockdown Browser”.
  6. Lockdown Browser will automatically launch and your quiz will be loaded into Lockdown Browser. Click “Begin” to take the quiz. Once a quiz has been started with LockDown Browser, you cannot exit until the “Submit Quiz” button is clicked.
  7. If you are required to use a webcam (Respondus Monitor), you will be prompted to complete a Webcam Check and other Startup Sequence steps.

Notes

  1. When you communicate with me by email, please include CS280-0xx where xx is your section number in the Subject line of any email you send me. If you have a question or 5 comment of general interest feel free to post it on the Announcements on the Canvas page for the class.
  2. If your inquiry is about a recitation class material, a recitation assignment or C++ help, please contact your Recitation class Instructor first.
  3. You will have one calendar week from when a grade for any assignment or exam is posted on Canvas to raise any questions that you may have about your grade to me or the instructor of your recitation class. After that time, I will not discuss any grading changes.
  4. You are responsible for any material that you miss if you don’t attend a lecture.
  5. If you need accommodations due to a disability please contact Chantonette Lyles, Associate Director of Disability Support Services, Fenster Hall Room 260 to discuss your specific needs. A Letter of Accommodation Eligibility from the Disability Support Services office authorizing your accommodations will be required.

Academic Integrity

Academic Integrity is the cornerstone of higher education and is central to the ideals of this course and the university. Cheating is strictly prohibited and devalues the degree that you are working on. As a member of the NJIT community, it is your responsibility to protect your educational investment by knowing and following the academic code of integrity policy that is found at: http://www5.njit.edu/policies/sites/policies/files/academic-integrity-code.pdf

Please note that it is my professional obligation and responsibility to report any academic misconduct to the Dean of Students Office. Any student found in violation of the code by cheating, plagiarizing or using any online software inappropriately will result in disciplinary action. This may include a failing grade of F, and/or suspension or dismissal from the university.
If you have any questions about the code of Academic Integrity, please contact the Dean of Students Office at [email protected]

cs280's People

Contributors

reallyawesomename avatar

Stargazers

David Huang  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.