CS 326: Programming Languages, Concepts and Implementation

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

CS 326: Programming Languages, Concepts and Implementation

Fall 2024

Time and Location: T-R 10:00 - 11:15 AM, TBE B-174

Office Hours: T-R 11:15 - 1:00 PM

Teaching Assistant

Gaurab Subedi

Email: [email protected]

Final Exam

December 10th: 10:10 a.m. - 12:10 p.m.

UNLV Policy

UNLV general policies for students can be found on the UNLV policy for students page.

Catalog Description:

Design, evaluation and implementation of programming languages. Includes data types and data abstraction, sequence control and procedural abstraction, parameter passing techniques, scope rules, referencing environments and run-time storage management. Study and evaluation of a number of current programming languages.

Credits 3

Prerequisites: CS 302 and either CS 219 or CpE 300. Prerequisites must be completed with a grade of C or better. Advanced Standing Required.

Required Textbook:

Concepts of Programming Languages, 11th Edition, Robert W. Sebesta

Rationale:

The purpose of this course is to give students an introduction to programming languages, which encompasses a series of big ideas. When students leave the course, they should have a better understanding of 1) Compilation, 2) Static Analysis, 3) Dynamic Behavior, 4) Formalism, and 5) the Human Factors Impact of programming languages. Understanding these big ideas gives us better insight into what the box is doing as we write, or run, programs we have written.

Student Learning Outcomes:

● Garner a better understanding of programming languages

● Learn how we process text to create computer programs, including implementation details

● Practice creating programming languages, in preparation for later computer science courses

● Introduce formalisms used in programming language design

● Introduce the use of evidence in programming language design

SLU 2:Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.

Corresponding Topics for CSC 326

Basic programming language design

Names, bindings,  and scope

Types, Abstract Data types

Expressions and State

Syntax and Semantics

Subprograms and procedures

Assessment: 

Grades are determined numerically for the course, via exams and assignments. The overall grade is determined via a percentage. Assignments for the course make up a total of 150 points and the exams are worth 150. The percentages used to calculate the final letter grades are in Table 1.

Assignments:

● Interpreter 1 - 25 points

● Interpreter 2 - 50 points

● By Hand Lexer - 75 points

● Midterm Exam - 50 points

● Final Exam - 100 points

● Attendance - 50 points   

No late exams or assignments will be accepted without prior approval or extraordinary circumstances.

Table 1: Grade Distribution:

A

Greater than or equal to  93%

A-

90 - 92.9%

B+

87 - 89.9%

B

83 - 86.9%

B-

80 - 83%

C+

77 - 79.9%

C

73 - 76.9%

C-

70 - 72.9%

D+

67 - 69.9%

D

63 - 66.9%

D-

60 - 62.9%

F

Less than 60%

Attendance:

Attendance in the course is required. Broadly, the 50 points will be distributed as a percentage of the recorded days. Attendance will not be taken every day, but your total points will be calculated as the percentage of attended vs missing days. Thus, if 10 days are recorded and you attended 9, you will obtain 45 points. Points will be rounded to the nearest integer. Reasonable accommodations will be made for students in regard to emergencies and other issues, per discretion of the instructor.

Academic Misconduct

Academic integrity is a legitimate concern for every member of the campus community; all share in upholding the fundamental values of honesty, trust, respect, fairness, responsibility and professionalism. By choosing to join the UNLV community, students accept the expectations of the Student Academic Misconduct Policy and are encouraged when faced with choices to always take the ethical path. Students enrolling in UNLV assume the obligation to conduct themselves in a manner compatible with UNLV's function as an educational institution. Many of us on the computer science faculty share, or copy, very similar statements about misconduct.

An example of academic misconduct is plagiarism. Plagiarism is using the words or ideas of another, from the Internet or any source, without proper citation of the sources. See the Student Academic Misconduct Policy (approved December 9, 2005) located at: http://studentconduct.unlv.edu/misconduct/policy.html

Department of Computer Science Academic Integrity Policy

Each student enrolled in a course offered by the Department of Computer Science is expected to do his/her own work when preparing written or programming assignments, as well as, examinations. He/She must adhere to the academic integrity policy provided by his/her instructor and the university. It is also each student's responsibility to notify the instructor if he/she becomes aware of any activities that would violate the academic integrity policy of the class. I reserve the right to fail any student, from the assignment or the course, for violating the policy, at my discretion.

Copyright

The University requires all members of the University Community to familiarize themselves with and to follow copyright and fair use requirements. You are individually and solely responsible for violations of copyright and fair use laws. The university will neither protect nor defend you nor assume any responsibility for employee or student violations of fair use laws. Violations of copyright laws could subject you to federal and state civil penalties and criminal liability, as well as disciplinary action under University policies. Additional information can be found at: www.unlv.edu/provost/copyright

ADA Statement:

Students who have special needs or disabilities that may affect their ability to access information and/or material presented in this course are encouraged to contact me or appropriate on campus entities for additional disability-related educational accommodations. Also,excellent students with a documented disability are sometimes eligible for internship opportunities through a grant program out of the University of Washington.Those students that are interested mayoptionally get in touch with me about this if they wish. 

Disability Resource Center (DRC)

The UNLV Disability Resource Center (SSC-A 143, http://drc.unlv.edu/, 702-895- 0866) provides resources for students with disabilities. If you feel that you have a disability, please make an appointment with a Disabilities Specialist at the DRC to discuss what options may be available to you. If you are registered with the UNLV Disability Resource Center, bring your Academic Accommodation Plan from the DRC to the instructor during o ce hours so that you may work together to develop strategies for implementing the accommodations to meet both your needs and the requirements of the course. Any information you provide is private and will be treated as such. If you desire to maintain the confidentiality of your request, please do not approach the instructor before or after class to discuss your accommodation needs.

Incomplete Grades

The grade of I - Incomplete - can be granted when a student has satisfactorily completed three-fourths of course work for that semester/session but for reason(s) beyond the student's control, and acceptable to the instructor and the Department, cannot complete the last part of the course, and the instructor believes that the student can finish the course without repeating it. The incomplete work must be made up before the end of the following regular semester. If course requirements are not completed within the time indicated, a grade of F will be recorded and the GPA will be adjusted accordingly. Students who are fulfilling an Incomplete do not register for the course but make individual arrangements with the instructor who assigned the I grade.

Tutoring

The Academic Success Center (ASC) provides tutoring and academic assistance for all UNLV students taking UNLV courses. Students are encouraged to stop by the ASC to learn more about subjects offered, tutoring times and other academic resources. The ASC is located across from the Student Services Complex (SSC). Students may learn more about tutoring services by calling 702-895-3177 or visiting the tutoring web site at:

http://academicsuccess.unlv.edu/tutoring/

UNLV Writing Center

One-on-one or small group assistance with writing is available free of charge to UNLV students at the Writing Center, located in CDC-3-301. Although walk-in consultations are sometimes available, students with appointments will receive priority assistance. Appointments may be made in person or by calling 702-895- 3908. The student's Rebel ID Card, a copy of the assignment (if possible), and two copies of any writing to be reviewed are requested for the consultation. More information can be found at: http://writingcenter.unlv.edu/

UNLV Library Resources

Students may consult https://www.library.unlv.edu/consultation with a librarian on research needs. For this class, the subject librarian is Sue Wainscott. See: https://www.library.unlv.edu/contact/librarians_by_subjectfor more information. UNLV Libraries provides resources to support students’ access to information. Discovery, access, and use of information are vital skills for academic work and for successful post-college life. Access library resources and ask questions at https://www.library.unlv.edu.

Rebelmail

By policy, faculty and staff should e-mail students' Rebelmail accounts only. Rebelmail is UNLV's official e-mail system for students. It is one of the primary ways students receive official university communication such as information about deadlines, major campus events, and announcements. All UNLV students receive a Rebelmail account after they have been admitted to the university. Students' e-mail prefixes are listed on class rosters. The suffix is always @unlv.nevada.edu. Emailing within WebCampus is acceptable.

Final Examinations

The University requires that final exams given at the end of a course occur at the time and on the day specified in the final exam schedule. See the schedule at:

http://www.unlv.edu/registrar/calendars.

Caveat:

The schedule and procedures for this course are subject to change. It is the student's responsibility to learn of and adjust to changes.

Artificial Intelligence:

Recent tools in artificial intelligence have meaningfully altered the landscape of how students might choose to work. Tools such as these may be useful in that they can provide guidance on writing, hints for technical solutions, and in some cases actual solutions to questions that may or may not be correct. For this course, AI solutions are allowed for purposes similar to using search engines. You may use them to look up information and as a sounding board for completing tasks. The following provides a rough guide for the types of activities that would be allowed or not for AI in the course.

Allowed

● Using AI similar to a search engine, where you ask it questions and try to learn from its responses

● Using AI to locate academic papers that you will then go read

● Using AI, or other tools in the same vector, for grammar or spelling checking

Not allowed

● Copy pasting code from AI to your software.

● Generating the writing for your term papers

● Generating academic references or literature, of any kind

● Completing an exam with AI

Students found to be violating the AI rules may have their grade reduced, depending on the seriousness of the infraction, as far down as an F.Serious infractions may be sent to the university. The point is that AI, like using search engines, can be useful, but the point of a class is to learn, not to show you can type into a website and copy paste what it told you. Further, just because AI says it does not make it true and it is crucial that you can tell the difference.

COVID-19:

COVID-19 has caused serious problems for all of us, students and faculty alike. It is possible that any of us this semester will have even more serious health or life challenges. Please keep this in mind when interacting with teammates, faculty, and others. A little bit of kindness and understanding goes a long way.

发表评论

电子邮件地址不会被公开。 必填项已用*标注