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.
Course Instructor: Dr. Bassel Arafeh
Robert W. Sebesta, Concepts of Programming Languages, 12th Edition., Pearson, 2019. ISBN-13 978-0-13499718-6
At the conclusion of this course, the successful (passing) student would have learned:
- The student will be able to recognize similar features of different programming languages.
- The student will have an easier time learning new programming languages.
- The student will gain an appreciation of the strengths and weaknesses of different programming languages.
- The student will demonstrate an ability to apply knowledge of computing and mathematics appropriate to the discipline.
- The student will demonstrate an ability to analyze a problem, and identify and define the computing requirements appropriate to its solution. 2
- The student will demonstrate an ability to design, implement, and evaluate a computer- based system, process, component, or program to meet desired needs.
- The students will recognize the need for and an ability to engage in continuing professional development.
- The student will demonstrate an ability to use current techniques, skills, and tools necessary for computing practice.
• 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\
Programming Assignments | 30% |
Recitation Assignments | 20% |
Midterm | 20% |
Final | 30% |
A | >= 88% |
B+ | 82%-88% |
B | 76%-82% |
C+ | 70%-76% |
C | 60%-70% |
D | 50%-60% |
F | < 50% |
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.
-
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. -
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 -
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.
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.
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.
- Download and install LockDown Browser from this link: http://www.respondus.com/lockdown/download.php?id=264548414
- Once your download and installation has finished, log into Canvas using your standard browser.
- From your Dashboard or under “Courses”, click on the course in which you have to take the exam that requires LockDown Browser.
- After you enter the course, find the exam and click on it.
- 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”.
- 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.
- If you are required to use a webcam (Respondus Monitor), you will be prompted to complete a Webcam Check and other Startup Sequence steps.
- 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.
- If your inquiry is about a recitation class material, a recitation assignment or C++ help, please contact your Recitation class Instructor first.
- 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.
- You are responsible for any material that you miss if you don’t attend a lecture.
- 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 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]