IT 117-01Z Intermediate Scripting
Syllabus

Instructor Contact
Instructor Torna Omar Soro, PhD.
Email torna.soro "at" umb "dot" edu
Office McCormack Building, 3rd Floor, Room 0201-32
Schedule REMOTE MoWe 7:30PM - 9:00PM, 7:30PM - 9:00PM
Classroom Remote
Office Hours TBA
Phone TBA
Web www.cs.umb.edu/~tsoro/

Topics

This Course Requires Work

This is a technical course.

It teaches you how to write scripts in the Python language.

There are many things you need to learn in this course.

Experience has taught me that the best way to learn this kind of material is with constant practice.

Each week you will need to submit 3 assignments and take a quiz.

You should be prepared to put in several hours a week in this course if you want to learn the material.

Prerequisites

IT 116 - Introduction to Scripting

Course Description

This course, a continuation of IT 116 - Introduction to Scripting, covers advanced features of scripting languages such as objects and regular expressions.

The course will also address the ethics of applying the skills learned here to real world situations.

This course can be used as one of the two programming courses required for the Bachelor of Science in Information Technology.

Topics Covered

The course will cover the following topics

Texts

Starting Out with Python, 5th Edition
by Tony Gaddis
Pearson
ISBN-10: 0-13-4774602 | ISBN-13: 978-0-13-4774602
Earlier versions of this text can also be used.

ACM Code of Ethics and Professional Conduct available from https://ethics.acm.org.

Unix Account

All students must have an account on the Unix machines run by the Computer Science department.

All students must have a class directory for this course on the CS Unix machines.

Both the Unix account and the class directory can be obtained by running the Apply program described here.

Each student must run the Apply program for this course.

Even if they already have a Unix account.

Running the program creates a class directory for your account, which you will need to submit your assignments.

Programming Assignments

This course will require you to write Python programs.

Python programs are text files containing statements in the Python language.

These programs must run in Python version 3.5 or above.

In order to receive credit for your programs they must be placed inside your class directory.

Programs not placed in the correct directory will not be scored.

Students can create these files on their own machines and upload them to their class directories.

Or they can use a Unix text editor to create the programs in their class directories while connected to the CS Unix machines.

What Happens in Class

This is a combined lecture and lab course.

I will speak for a while at the beginning of the class.

After my prepared material, there will be an ungraded quiz.

The purpose of the ungraded quiz is to help you remember the new material we have covered.

After you have completed the quiz I will ask you to work on the Class Exercise.

You will work on the exercise for the remainder of the class.

There will also be weekly graded quizzes every Tuesday, except when noted.

You will find the schedule for graded quizzes here .

Course Work

In each class you will receive a Class Exercise, which consists of code that you must copy and run on our Unix systems.

You should work on each exercise in class so I can help you if you run into trouble.

If you cannot complete the exercise in class, you may finish it later.

Class Exercises for the week must be submitted by the following Sunday at 11:59 PM.

Each Class Exercise will be graded on completion.

If the code does everything it should do and does not show any errors, you will receive the full 100 points for that exercise.

There will be two types of quizzes

The Class Quizzes are given at the end of each class and are not graded.

The purpose of the Class Quizzes is to help you learn the material.

Studies have shown that taking a quiz immediately after hearing new material helps you learn.

The Weekly Quizzes are graded.

Their purpose is to encourage you to study the material as we go along, and not postpone this until just before the exams.

All questions on the Weekly Quizzes come from the ungraded Class Quizzes.

They will usually cover the material from the previous week.

The weekly graded quizzes will be given on Tuesday, starting in the third week of class.

The graded Quiz will be given in the online testing platform Gradescope in the final minutes of each class.

Since the weekly quiz is online you will be able to take it even if you are not in class.

If you miss a quiz your score on it will be 0.

There will be no makeup for a missed quiz because Gradescope does not permit it.

If you have a valid reason for missing the quiz, send me an email.

There will often be a weekly reading assignment from the textbook.

There will be weekly homework assignments.

There will be two exams

Software Needed for the Course

You will need to have three software packages on your machine for this course

An SSH client allows you to log in to a Unix machine from your computer.

Mac OS comes with an SSH client already installed.

There are many free SSH clients available for Windows users.

A very popular one is putty.exe which can be downloaded here

FileZilla makes it easy to move files from your machine to a Unix machine.

You can download it here.

You can download the latest version of Python here.

Python comes with an editor called IDLE that you can use to write Python programs.

But IDLE is limited in what it can do.

So you might want to use a full featured editor like Sublime instead.

You can download Sublime here.

Laptops

If you have a laptop, you should bring it to class.

There will be a Class Exercise for each class.

Class Exercises require you to copy programs into a text file inside your class directory.

You do not have to finish these exercises in class, but you should start working on them while you are here.

This will allow me to help you if you run into trouble.

I will check all class exercises.

You should only use your laptops while working on the Class Exercises.

Or when taking the Graded Quiz on Gradescope.

Studies have shown that students who use laptops in class do less well than students who don't.

That's because students use laptops in class to view things not related to class material.

You can read a summary of these results here and here .

If you believe you have a special need that requires you to use a laptop in class, see me.

Phones

Smart phones make you stupid

They divert your attention from the important work of learning

They are a distraction that will harm your grade in this class

If you are looking at your phone

You are not paying attention to what is happening in class

Most of you are going into debt to attend this class

If you are mesmerized by your phone

You are not getting your money's worth from this class

For these reasons you may not use a phone when I am talking

If you do, I will ask you to put it away

If you refuse you must leave the class

Or I will call security

If you need to take or receive a call

Leave the room until you are done

Attendance

I take attendance in each class.

I used to say that I did this to learn your names.

That is still the main reason.

But COVID taught all of us that in-person teaching is important.

To encourage attendance, it will count as 5% of your grade.

If you cannot make it to class, send me an email.

You will not be marked as absent if you have a valid excuse.

If you believe you have a valid reason for taking classes remotely, send me an email.

But even if I let you learn remotely, you will have to take the exams in person.

Recorded Class Meetings

All class meetings are recorded.

You will find links to the videos here.

Grading Policy

All homework and exams are subject to the University's Code of Conduct.

Plagiarism is not tolerated in any form.

Grades will be computed as follows

Homework15%
Class Exercises15%
Weekly Quizzes20%
Midterm Exam20%
Final Exam30%

Final grades will be assigned based on the following standard scale

A> 100 - 93 (the Registrar does not accept an A+ grade)
A -92 - 90
B +89 - 86
B85 - 83
B -82 - 80
C +79 - 76
C75 - 73
C -72 - 70
D +69 - 66
D65 - 63
D -62 - 60
F< 60

Late Work

Scoring assignments takes a great deal of time.

To do this as efficiently, I score each assignment once and only once.

All assignments are due on Sunday at 11:59 PM.

But I do not score them until the following weekend.

I run a collection script many times during the week after an assignment is due.

Usually on Monday, Wednesday and Friday.

If my scripts cannot find your assignment, you will get an email message to that effect.

You will lose 2 points for each day an assignment is late.

You will get a 0 for the assignment if it is not in the correct directory when I run the collection script for the last time.

If you have a personal emergency, contact me I will give you an appropriate extension.

Email Notification

You will receive a grading sheet for all homework assignments, tests, and graded quizzes.

You will also receive emails when a due date has passed for an assignment.

If a class needs to be cancelled for some reason I will send an email to all students.

These will be sent to your UMB email address.

For this reason, it is important that you forward your UMB email to an account you check regularly.

Forwarding your UMB email is part of your first homework assignment.

Gradescope

Gradescope is is an on line application for giving and grading exams.

Gradescope will be used for the weekly graded quizzes.

You will take the weekly graded quizzes online in Gradescope.

You will have to connect the the Gradescope website to take the quiz.

The quiz will only be available during a 15 minute window at the end of class.

The Midterm and Final will be in-person paper exams.

I will use Gradescope to score them.

You will receive an email from Gradescope when a quiz or exam has been scored.

The email will contain your score on the test and each question.

If you think I have made a mistake you can ask for a rescore on individual questions.

You can find more information about Gradescope here.

If You Fall Behind See Me

Most students at UMB have many demands on their time.

They work many hours outside of school and take several courses.

Under normal circumstances, most students can handle the load.

But sometimes life throws you a curve.

A family emergency, health issues, or problems at work can make it hard to keep up with your coursework.

If this happens see me.

Often I can help.

But you need to do this soon as you start to fall behind.

If you wait until the end of the semester there is much less that I can do to help.

Accommodations for Disabilities

Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities.

Students may obtain adaptation recommendations from the Ross Center for Disability Services.

Their web site is https://www.umb.edu/academics/vpass/disability.

A student must present these recommendations and discuss them with me within a reasonable period, preferably by the end of Add/Drop period.

Classroom Behavior

I put a lot of work into my classes.

If I see you looking furtively at your cell phone while I'm talking, I wonder why I am doing this.

If I hear you having an extensive conversation with your neighbor, it makes me feel that I am wasting my time here.

I could make more money doing other things, but I find this work important.

I am working hard to teach you important material.

Please respect that effort while you are in this room.

Reputation

Many students worry about their Grade Point Average.

They feel that a good GPA is needed in order to get a job.

It is certainly worthwhile to get the best grades you can.

But your GPA will probably only be a factor in getting your first job.

In the long run what is more important is your reputation.

Do you have a good work ethic?

Do you get along well with the people you work with?

Are you reliable?

Are you honest?

The last quality is particularly important in IT.

IT professionals have access to information that is extremely valuable to any organization.

Why would anyone hire you if you can't be trusted?

Academic Honesty

The goal of education is to pass on the knowledge and wisdom accumulated down through the centuries of human experience to young people so they can make the most of their lives.

Education is the mechanism by which one generation transmits knowledge to the next.

Without education, human civilization would crumble.

Those of us who teach have a duty to present what we have learned in a clear and honest way.

A teacher who lies is betraying a fundamental principle of education.

Honesty is also expected of you.

You have entered into an institution where honesty is a core principle.

If you are dishonest, you violate that principle.

Honesty is expected of you and if you are not honest, there will be consequences.

Our University takes the principles of academic honesty very seriously.

The preamble to the Academic Honesty section the Code of Student Conduct of the University reads as follows

It is the expressed policy of the University that every aspect of academic life not only formal coursework situations, but all relationships and interactions connected to the educational process shall be conducted in an absolutely and uncompromisingly honest manner. The University presupposes that any submission of work for academic credit indicates that the work is the student’s own and is in compliance with University policies. In cases where academic dishonesty is discovered after completion of a course or degree program, sanctions may be imposed retroactively, up to and including revocation of the degree. Any student who reasonably believes another student has committed an act of academic dishonesty should inform the course instructor of the alleged violation.

You should read these words carefully and make sure you understand them.

You can find the complete text of the Academic Honesty Policy here.

Honesty Expected In This Class

Anything you write on a quiz or test in this class must come from your own knowledge.

You may not copy from another student or use electronic devices or software to help with your answer on a quiz or exam.

You may work with others on your homework assignments, but only with students in this class.

If you work with other students on an assignment you must list all their names in a comment at the top of the script.

You must not copy lines of code from the Internet or any other source into your assignments.

If you do you are cheating.

Students working in groups on an assignment must each type their own copy of the script.

They cannot simply copy a file an make a few changes.

You must not copy any homework assignment or Class Exercise to a site on the Internet.

The first homework assignment includes an oath that you will not be dishonest in this class.

You must write out this oath in your own handwriting, sign it, photographic it and email to me.

I will not grade any work from you unless I have a copy of this oath from you.

What Happens If You Are Caught Cheating?

Cheating will not be tolerated in this class.

I have a zero tolerance policy with regard to cheating.

Any cheating it will be reported to the Provost and may become part of your permanent record.

Copying assignments is cheating.

If copying is detected, both students will receive a 0 on the assignment.

And the incident will be reported.

If you cheat more than once on a homework assignment, Class Exercise or Quiz you will fail the course.

Students who cheat on an exam will automatically fail the exam.

Students who post homework assignments, Class Exercises, Quizzes or exams on the to a site on the Internet will be reported to the Provost.

Class Discussion Area

If you have questions about the material or the assignments, you should post them to the class discussion area.

This discussion area is provided by Piazza, which is a platform to help students share information.

You need to register for the discussion area, which you can do at https://piazza.com/umass_boston/spring2023/it11711.

The URL for the discussion area is https://piazza.com/umass_boston/spring2023/it11711/home.

If you find yourself stuck on anything, post it here.

I will check Piazza frequently and answer question as they appear.

If you see a question and know the answer, you can respond to it on Piazza.

I will check these replies and approve or modify them as appropriate.

You can post questions anonymously on Piazza, if you prefer.

Class Assistant

This class has a student assistant who can help you with your assignments.

This student is an undergraduate who has taken this course.

His name is Chukwuma Nnodim-Amadi and can be reached at C.NnodimAmadi001@umb.edu .

Feel free to contact the Class Assistant if you are having trouble with an assignment.

The Class Assistant will also contact you if you do not submit an assignment on time.

There is a link to information about the Class Assistant on the Class Web Page.

Office Hours

My office is on the third floor of McCormack 3-0201-22.

It has a pterosaur poster on the door, so it is hard to miss.

My office hours are Tuesday & Thursday
11:00 - 12:00 & 5:30 - 6:30

I will open a Zoom session during office hours.

So you do not have to come to my office for help.

Here is the Zoom link for Office Hours.

You do not need an appointment to see me during office hours.

You can also make a appointment for a Zoom meeting on Wednesday between Noon and 6 PM.

If you need to see me but cannot make it to office hours, send me an email and we will make arrangements.

Academic Support Programs

If you are having trouble in any of your classes, you should reach out for help.

The University provides extensive Academic Support Programs.

To learn more about them go to https://www.umb.edu/academics/vpass/academic_support.

Contacting Me

If you have questions about your status in the class, email me at Glenn.Hoffman@umb.edu.

If you have question about any of the material we cover in class or an assignment, post in on Piazza.