you will be able to..."
Syllabus
C O N T E N T S
- Essential Course + Contact Information
- Course Description
- Course Goals
- Learning Outcomes
- Required Software + Other Resources
- Expectations
- Communication
- General Schedule of Topics
- Attendance + Participation Policy
- Academic Integrity Policy
- GENERAL GRADING RUBRIC for Lab Assignments
- Course Accommodations for Students with Disabilities
- Inclusivity
I. Essential Course + Contact Information
Course Number: MTEC1003
Semester: Fall 2023
Section: OL20 (21310)
Location + Time: Wednesdsays 6:00-8:30 PM
Modality: Zoom [ONLINE]
Professor: Louis Goldford
Email: louis.goldford81@citytech.cuny.edu
Office Hours: Wednesday 5:00 — 6:00 PM (one hour before class)
Office Location: Zoom (scheduled through the Calendly link above)
Course Discord: https://discord.gg/yku3aH9j
Course Website: https://einbahnstrasse.github.io/Goldford-MTEC1003/
II. Course Description
MTEC1003 examines the fundamental topics, tools, skills, and best practices that support creative programming. At its core we ask how the user can gain finer control over their computer and make better use of it in their personal practice. Through our weekly lab assignments, demonstrations, and supplementary resources, students will gain fluency with the tools necessary to construct websites, using essential front-end technologies such as HTML/CSS and JavaScript. Additionally, students will implement fundamental programming paradigms in JavaScript and Python, and will harness the computer’s powerful administrative functionality on the Unix command line. We will organize our workflow intelligently with source code management (i.e. Git). Our work prepares the student for subsequent classes in the MTEC course rotation. Time permitting, we will also touch on the basics of data mapping for artistic purposes.
In this semester’s online version of MTEC1003, and in lieu of a physical classroom, we will rely on a few of the interactive coding tools available to us as distant learners — for example, some of our tutorials will be completed on Google Colaboratory, and we will heavily utilize Discord for essential course communication. We may also use OpenLab for some correspondence.
Students will therefore be required to (1) set up and join our course’s Discord channel, (2) set up and maintain a public GitHub user account for all submitting assignments, and (3) download/install all required software on their own computer (from the RESOURCES TAB).
III. Course Goals
- Introduce the Unix command line, JavaScript, HTML, CSS, and Python.
- Define and execute basic control flow operations: functions + function calls, loops, conditional statements, etc.
- Utilize version control for intelligent backup, with special emphasis on Git.
- Submit all course assignments through GitHub.
- Create personal web content using HTML, CSS, and JavaScript, using GitHub Pages.
IV. Learning Outcomes
By the end of the course students will be able to:
- Build + Execute simple programs in JavaScript and Python.
- Read and understand documentation and resources related to our programming languages.
- Interface with (1) your computer’s administrative capabilities, (2) Git, and (3) Python, using the Unix command line.
- Understand fundamental programming operations (i.e. those listed in III. Course Goals, above).
- Establish a creative coding practice that includes a logical debugging process.
- Organize all developmental work using version control (Git) via a personal GitHub account.
- Create + Publish an original website from basic HTML/CSS formatting and JavaScript.
V. Required Software + Other Resources
See the RESOURCES TAB for download and documentation links.
- Terminal (macOS) or an acceptable Terminal Emulator (Windows)
- an acceptable Text Editor (e.g. Atom, Sublime Text 3, or Visual Studio Code)
- Google Chrome
- Git (and Homebrew for Git installation)
- a public account on GitHub.com
- Python 3
VI. Expectations
VI. Part I. General Expectations
- Arrive on time to all online course sessions. — See Attendance + Participation Policy below.
- Setup + maintain a public GitHub account, and report your username to the instructor for grading at the start of the semester.
- Spend 1-2 additional hours a week (outside of class) on the timely completion of our lab assignments and projects.
- Submit assignments by the given deadlines: Deadlines are always due online (GitHub) at 11:59 PM Tuesday night each week!
- Back up and organize your work REGULARLY on GitHub. Catastrophic loss of materials is no excuse for missed deadlines!
VI. Part II. Special Note About Readings + Slides
- Study the slides and tutorials ahead of class. Come prepared with questions if you don’t understand them. You will need to understand these materials and the examples given each week to be able to complete our weekly lab assignments.
- We will likely be unable to present slides in class. You are therefore responsible for familiarizing yourself with this content even if we don’t cover it in our session. Our class is a “lab”, meaning we will devote the majority of our time to rapid demonstrations and especially to completing the lab exercises themselves.
- Additionally, you are strongly encouraged to consult the recommended documentation resources found in our schedule. These provide context, will deepen your understanding, and will pay dividends in your coding this semester and far beyond…
VII. Communication
- City Tech email accounts are our official means of communication, but we will also use Discord and OpenLab for additional discussion.
- Requests to the instructor for assistance: Send an email, or a message on Discord. I will respond during normal working hours; requests arriving “after hours” will be answered on subsequent weekdays.
- Professional communication etiquette is expected in our written correspondence. In emails and messages, this includes polite and appropriate salutations, greetings, and courtesies.
- Virtual office hours are available through my Calendly link (see I. Essential Course + Contact Information, above). If you are frequently missing from class discussion, missing lab assignments, or demonstrating poor comprehension of our materials, I may occasionally require office hours visits with you, in which case I’ll send you a message through Discord or in an email. It is my expectation that you respond promptly and sign up for a time to discuss any such perceived issues, and failure to do so will be reflected in negative participation points.
- Discord should be used during regular hours. Please respond during the workday as promptly as you can to inquiries from the instructor (both for email and messages sent on Discord). Multiple successive days without a response is unacceptable.
- Actively participate in our online class discussions. Thoughtfully contribute to a positive classroom environment, while supporting and challenging your colleagues’ ideas.
- Check Discord regularly for group and private messages.
- If you have a question that may be relevant to the group (about assignments, etc.), post in the #general channel on Discord.
- Use Discord for easy communications with your classmates as well — you can DM individuals or selected groups.
VIII. General Schedule of Topics
Please note: Our schedule of topics and their precise order may change.
See the SCHEDULE TAB for a precise breakdown of all tutorials, assignments, and other resources as the semester develops.
For a detailed list of assignments, points, and deadlines, see the GRADING TAB.
IX. Attendance + Participation Policy
Participation is based on attendance and your engagement on Zoom, and will form a substantial portion of your grade.
IX. Part I. Virtual Participation on Zoom
- Weekly course sessions will be held exclusively on Zoom. Those enrolled in this course will find the link to our weekly Zoom sessions posted on Blackboard. Email me (see Essential Course + Contact Information) above if you don’t see our link on Blackboard.
- You are required to share your video connection for the duration of each class. You will periodically be called upon to share your audio and screen-sharing connections for asking/answering questions, demonstrating your work, troubleshooting your code, etc.
- Find a quiet and presentable space that you don’t mind sharing through your Zoom audio connection.
- If you are concerned about privacy over a video chat, you may choose a virtual background within Zoom settings.
- Failure to share your video connection or to unmute your microphone and respond within 15 seconds of being called upon will be considered an absence from class, and will result in a loss of participation for the day.
- Technical difficulties are not an excuse: you are responsible for testing your connection before class, and if there are any issues, they must be promptly reported. Test your internet connection (recommended: at least 30 minutes before the start of our class). If you suddenly experience connection problems that prevent you from joining or remaining in our sessions, send me a Discord message or email me as soon as possible. Further information about our Attendance Policy appears below.
- Failure to proactively troubleshoot long-term connection problems (and/or to communicate with the instructor about them) will result in a loss of participation points.
- Students who need computer access in order to attend our virtual classes should visit V-217 for desktop access (as well as workspaces where you can dock your own laptop, if necessary).
- Additionally, students may request a loaner laptop.
- Your engagement and presence must be felt through your active participation: e.g. responses to prompts and questions, offering possible solutions and perspectives where appropriate, etc.
- Weekly online quizzes will be given at the start of class as part of your participation grade. These quizzes usually take about 15-20 minutes to complete and will begin promptly at the start of each class. Therefore, your prompt arrival ensures that you have the full amount of time to demonstrate your participation. Each quiz is worth a variable number of points each week and is entirely based on our slides and other materials located under the SCHEDULE TAB of our Course Website, as well our previous class discussions.
- The topic(s) of each quiz may review the previous week’s materials or may include questions on the upcoming topics of the current week. Therefore, you will need to take notes and study in advance of each class in order to finish these quizzes in a timely manner. Failure to complete each quiz within the allotted time will result in a loss of participation points and will negatively affect your course grade.
- Additionally, each quiz will conclude with a passphrase given verbally by the instructor over Zoom after the conclusion of the quiz time period. You must remain present and alert in class in order to receive the correct passphrase, and your quiz must be submitted within a minute of the passphrase being distributed in class. Do not repeat the passphrase once it’s been given by the instructor.
- Utilize Zoom’s chat and hand-raising features for interacting with the instructor or the class. Occasionally you will be prompted to answer questions, so these tools are essential.
- For questions about using Zoom and its features, consult the Zoom Help Center.
- Avoid distractions from social media and unrelated web content. Strive to engage fully during our dedicated class time. We only meet once per week, so it will be difficult to recoup the losses of not paying attention later in the week, e.g. while finishing assignments.
- We may take a short break about midway through class. If you need additional time for restroom breaks or emergencies, quietly and occasionally excuse yourself on Zoom, keeping your video on. Frequent and recurring self-excusals will result in lowered participation scores.
- Failure to comply with these policies carries a long-term penalty: Although I grade holistically, I will not be curving your scores, especially when long-term participation issues persist.
- There is no extra credit in MTEC1003. Therefore, plan accordingly.
- Certain demonstrations in class may be recorded, but in general we do not record weekly lectures. Any such videos will be made available temporarily through our Course Discord page, but will never be posted publicly.
- Bear in mind that you will be completing exercises on your computer at the same time we’re discussing and presenting examples on Zoom. Be prepared to rapidly switch between the application windows open on your desktop, e.g. between Zoom and your Terminal, Text Editor, and/or Google Chrome. On macOS, for example, this is easily accomplished by holding down the
Command
key and pressingTAB
key to switch between applications.
IX. Part II. Prompt Arrival and Absences
- Students are expected to arrive promptly to all virtual class sessions, stay online and involved through the duration of each session, participate and engage in our labs, discussions, and demonstrations.
- Follow this Procedure for Absences:
- Contact a classmate for notes on what you missed (e.g. on Discord).
- Check our Course Website for assignments, slides, tutorials, recommended documentation reading, etc.
- After these first 2 steps, contact the instructor with any additional questions.
- Excused absences/lateness must be accompanied by documentation and/or include advance notice with the instructor where possible. Excused absences/lateness will not impact on your grade. Absences may be excused in cases of: documentation of illness provided by a doctor, religious observance with advance notice, official school-related activity (always with documentation and advanced notice), and on a case-by-case basis for other critical events, at the discretion of the instructor.
- Excused absenses must be reported to the instructor by email before the 3rd class session. (See our SCHEDULE tab to be sure you meet this deadline!)
- A lack of communication with the instructor about planned absences will therefore be treated as UNEXCUSED. Be in touch early.
- Unexcused absences and lateness will result in lowered participation grades. Prompt arrival online earns you an immediate 5 points (i.e. 1/2 of your full participation). For late arrivals, the following weighted score system applies:
Arrival ("Sign-on") Time | Participation Points |
---|---|
6:00 or earlier | 5 points (full credit) |
6:01-6:10 | 4 points |
6:10-6:30 | 3 points |
6:30-7:00 | 2 points |
after 7:00 | 1 point |
absent | 0 points |
Additionally, three (3) unexcused absences will lower your participation score by 34 points, which is equivalent to a 10% reduction of your Course Grade (i.e. one letter grade).
Each additional unexcused absence beyond 3 will further lower your participation score by 17 points, or the equivalent of 5% increments in your Course Grade.
X. Academic Integrity Policy
Part I. General Notes on Academic Integrity
Students and all others who work with information, ideas, texts, images, music, inventions, and other intellectual property owe their audience and sources accuracy and honesty in using, crediting, and citing sources. As a community of intellectual and professional workers, the university recognizes its responsibility for providing instruction in information literacy and academic integrity, offering models of good practice, and responding vigilantly and appropriately to infractions of academic integrity. Accordingly, academic dishonesty is prohibited in The City University of New York and at New York City College of Technology and is punishable by penalties, including failing grades, suspension, and expulsion. The complete text of the College policy on Academic Integrity may be found in the catalog.
Instructor Note: Code borrowed from another source must be attributed as a comment within your own code. If you are unsure of whether or not your work may constitute plagiarism, please check with the instructor before submitting. Where applicable and where marked within our course materials, follow the provisions of the Creative Commons Attribution-ShareAlike 4.0 International License.
Part II. Academic Integrity Pledge
By enrolling in this course, you pledge to uphold the policy on Academic Integrity described below:
I understand the value of personal integrity and ethical behavior in all aspects of my professional and personal life. By committing to honesty and personal responsibility, I earn the respect and trust of others. As a student at New York City College of Technology, I recognize that the value of my education is not just being able to say I am a college graduate, but it also incorporates the skills, values, and knowledge I have acquired. I thus commit myself to upholding academic integrity as an important aspect of my personal integrity and professional growth. I understand that academic integrity includes:
- Fully observing the rules governing exams and assignments regarding resource material, electronic aids, copying, collaborating with others, or engaging in any other behavior that subverts the purpose of the exam or assignment, and the directions of the instructor.
- Only turning in work that I have done myself, and not using unattributed work done by others. While working and studying with others can be an effective way to learn, submitted work will be my own.
- Giving full and proper credit to sources and references, and acknowledging the contributions and ideas of others, in my academic work.
Further, I have read and understand the college’s Academic Integrity Policy found in the New York City College of Technology College Catalog, p. 56 of the spring 2020 catalog.
(Modified from the Marquette University Honor Code, PB, RB; AM; 12/23/2020)
XI. GENERAL GRADING RUBRIC for Lab Assignments
Score | Grade | Description |
---|---|---|
93-100% | A | Outstanding: pushing the limits of both the student’s creativity and the assignment. |
90-92.9% | A- | Impressive: demonstrates maximum aptitude and/or organizational skills. |
87-89.9% | B+ | High Achieving: thoughtful and creative approach to the assignment. |
83-86.9% | B | Thorough: clear articulation of skills, concepts, and preparation. |
80-82.9% | B- | Above Average: quality work, but lacking in some problem-solving areas. |
77-79.9% | C+ | Well Intentioned: submitted on time, completed according to minimum requirements. |
70-76.9% | C | Average: may need help with certain concepts and/or organization of ideas. |
60-69.9% | D | Poor: does not meet the minimum requirements. |
> 60% | F | Fail: not turned in, excessively late, or incomplete. |
For a detailed list of assignments, points, and deadlines, see the GRADING TAB.
XII. Course Accommodations for Students with Disabilities
In order to receive disability-related academic accommodations students must first be registered with the Student Support Services Program (SSSP). Students who have a documented disability or suspect they may have a disability are invited to set up an appointment with Ms. Linda Buist, the program manager of SSSP (Phone: 718–260–5143, e-mail: buist@citytech.cuny.edu). If you have already registered with SSSP, please provide your professor with the course accommodation form and discuss your specific accommodation with him/her/them.
A Note on City Tech’s Counseling Center
The Counseling Services Center supports the educational, emotional and career development of City Tech students by providing opportunities for skill development, counseling and referrals that address obstacles to success. The Center is currently available to students remotely. For questions and appointments, contact the Center at counseling@citytech.cuny.edu or 718-260-5030.
XIII. Inclusivity
XIII. Part I. Name + Pronoun Usage
This course consists of individual work and group discussion. We must therefore strive to create an atmosphere of inclusion and mutual respect: all students will have their chosen gender pronoun(s) and chosen name recognized. If the class roster does not align with your name, gender, and/or pronouns, please inform the instructor.
XIII. Part II. Inclusivity Statement
It is my intent that students from all diverse backgrounds and perspectives be well-served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that the students bring to this class be viewed as an asset, resource, strength, and benefit, rather than a checklist item or worse, a hindrance. It is my intent to present materials and activities that are respectful of diversity: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally, or for other students or student groups. Feel free to reach out to me via email at any time about any issues concerning you or with any such ideas.