CSE/ISE 337: Scripting Languages


Fall 2022

Course Description

Scripting languages are widely used in the software industry. Programming with scripting languages, also known as scripting, has several advantages compared to programming with other types of languages in that scripts facilitate rapid program development; can automate high-level jobs or tasks effectively; and can be used to compose various software components, even binaries, into more complex and powerful applications. This course introduces the principles of scripting, covers few selected scripting languages in-depth, and illustrates the advanced use of scripting by extensive case studies in application areas such as system administration, data science, text processing, and automated unit testing.

Major Topics Covered

  • Introduction to Scripting

  • Python

  • Applications of Python

  • Ruby

  • Applications of Ruby

  • Introduction to UNIX

  • Shell Scripting and its applications

Course Learning Outcomes

  • Understand the general concepts of a scripting language.

  • Read and maintain existing scripting programs in the languages studied.

  • Effectively utilize and compose command-line utilities.

  • Identify if scripting is appropriate for a particular software-related task.

  • Design, develop, and test moderately sized scripting programs.


Delivery Mode

This course is being administered through the Brightspace Learning Management System. It is being offered in-person and live streamed on Echo. In-person classes meet Tu Th 1:15 - 2:23 PM. Echo links can be accessed from Brightspace or Echo accounts.

Textbook

There is no prescribed textbook. The major course materials are from lecture notes and sample programs discussed in class. However, you are free to download and review the recommended readings listed below. The course material is largely based on them.

Recommended Readings


Communication with the Course Staff

Instructor Info

Assessments and Grading Scheme


Grade Distribution:

  • Assignments (5): 50% (10% each)

  • Midterm Exam: 20%

  • Final Exam: 25%

  • Class participation: 5% (extra credit)

Course Grade Cutoffs: A [93-100], A- [90-93), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), D+ [67-70), D [63-67), F [0-63). Grade cutoffs might be adjusted at the end of the semester if warranted to curve the course grades.

Assignments:

  • The course will include five programming assignments. In total, the assignments will be 50% of the course grade.

  • Students are expected to work independently on an assignment. Offering and accepting solutions from others is an act of plagiarism, which is a serious offense and all involved. parties will be penalized according to the Academic Honesty Policy. Discussion amongst students is encouraged, but when in doubt, direct your questions to the professor, TA, or grader.

  • All programming assignments will be administered via GitHub. Students are expected to download their repositories from GitHub and submit their code to the same repository.

Exams:

  • Midterm exam is worth 25% of the grade.

  • Final exam is worth 25% of the grade.

  • Will be in-person on paper.

  • Will be closed book. One page of hand-written notes will be allowed.

  • No electronic devices will be allowed.


Class Participation

Class participation is 5% of the course grade. It includes participating in class discussions through in-class quizzes . You will gain more by attending lectures and actively engaging with the material being taught.

If a student is unable to attend lecture(s), report for any exams, or complete major graded coursework as scheduled due to extenuating circumstances, the student must contact the instructor as soon as possible. Students may be requested to provide documentation to support their absence and/or may be referred to the Student Support Team for assistance. Students will be provided reasonable accommodations for missed exams, assignments, or projects due to significant illness, tragedy, or other personal emergencies. Students are responsible for all missed work, regardless of the reason for absence from lecture and/or recitation. It is also the absentee’s responsibility to obtain all missing notes or materials from a classmate. Please note, all students must follow Stony Brook, local, state, and Centers for Disease Control and Prevention (CDC) guidelines to reduce the risk of transmission of COVID.

Free Tutoring Services

The College of Engineering and Applied Sciences (CEAS) offers a range of free tutoring services for students in CSE, AMS and other courses. See the CEAS Undergraduate Student Office website for more information. For small group and one-on-one tutoring please inquire also at the Academic Success and Tutoring Center.

Academic Integrity

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at https://www.stonybrook.edu/commcms/academic_integrity.

All examinations will be closed-notes and closed-book. No electronic devices of any kind will be permitted to be used during exams. All cell phones must be silenced or turned off during exams. Any use of electronic devices, textbooks, notes or any other materials will constitute cheating.

Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology and Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website.

Americans with Disabilities Act

If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Student Accessibility Support Center, ECC (Educational Communications Center) Building room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.

Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Student Accessibility Support Center. For procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities.

Critical Incident Management

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.