Intro to Coding
Term: Spring 2024
Instructors: Yoli Martinez (email) and Soo Oh (email)
Announcements: Berkeley Slack #j220
Lecture: Mondays, 6-9pm in 106 North Gate (Upper Newsroom)
Class website: This is it (you’re here!) https://journ220.github.io
Turn in assignments: Use the class link for bCourses
Office hours
Yoli
- Various times on Zoom via Calendly
Soo
- Various times on Zoom via Calendly
- Other times by appointment
Lectures and assignments
Jan. 22: About the class; Intro to HTML
- Lecture slides
- Lecture recording in bCourses’ Media Gallery as
Lecture 01-22
Homework
- Read Find the Coaching in Criticism from HBR (here’s a PDF if you’re paywalled)
- Submit Assignment #1: Syllabus and Feedback in bCourses by Jan. 27 at 11:59 p.m.
Jan. 29: The HTML document and semantic HTML; Getting started with accessibility
- Lecture slides
- Lecture recording in bCourses’ Media Gallery as
Lecture 01-29
Homework
- Submit Assignment #2: Semantic HTML in bCourses by Feb. 3 at 11:59 p.m.
Feb. 5: More HTML elements
- Lecture slides | In-class exercises (read-only)
- lecture0205examples.zip
- Lecture recording is in bCourses’ Media Gallery as
Lecture 02-05
Homework
- Submit Assignment #3: More HTML elements in bCourses by Feb. 10 at 11:59 p.m.
Feb. 12: Accessibility and design; Intro to CSS
- Lecture slides
- Lecture recording is in bCourses’ Media Gallery as
Lecture 02-12
Homework
- Submit Assignment #4: Accessibility in bCourses by Feb. 17 at 11:59 p.m.
Recommended reading for acccessibility
The following links have different sections; you are free to read whatever interests you.
- Images tutorial: dealing with decorative images, images of text, etc.
- Tables tutorial: different kinds of tables with different kinds of header rows and columns
Helpful Codecademy tutorials
We don’t have lecture next week! You can catch up with HTML or get ahead on CSS with the following Codecademy tutorials:
- Learn HTML, everything in the Syllabus except the “Forms” section
- Learn CSS, specifically the first set of lessons called “Syntax and Selectors”
Feb. 19: Presidents Day
No lecture
Feb. 26: More CSS
- Lecture slides — updated with better examples of box model and overriding browser styling at the end!
- In-class activity (read-only)
- Lecture recording is in bCourses’ Media Gallery as
Lecture 02-26
Homework
- Submit Assignment #5: CSS in bCourses by March 9 at 11:59 p.m.
Recommended
- All named color values available, via Mozilla
- List of all CSS properties, with explanations on how to use. We’re covering the most common in class.
Helpful Codecademy tutorials
- Codecademy: CSS box model and layout
Mar. 4: Even more CSS + Review
- Lecture slides
- Lecture recording is in bCourses’ Media Gallery as
Lecture 03-04
- In-class materials
Homework
- Submit Assignment #6: Hand-code HTML #1 in bCourses by March 9 at 11:59 p.m.
Mar. 11: More CSS / Wireframing
- Lecture slides
- Lecture recording is in bCourses’ Media Gallery as
Lecture 03-11
Homework
- Submit Assignment #7: Hand-code HTML #2 in bCourses by March 15 at 11:59 p.m.
Mar. 18: Layout and HTML frameworks
- Lecture slides | in-class exercises
- Lecture recording is in bCourses’ Media Gallery as
Lecture 03-18
- Download lecture files: lecture0318examples.zip
Homework
- Anonymous mid-semester survey (extra credit) due in bCourses by March 23 at 11:59 p.m.
- Submit Assignment #8: Hand-code HTML #3 in bCourses by March 31 at 11:59 pm. Download assets.
- Book office hours before the end of March to discuss final project.
Mar. 25: Spring break
No lecture
Apr. 1: Advanced CSS; Basic JavaScript
- Lecture slides | lecture materials
- Hand-coding HTML/CSS guides
- Lecture recording is in bCourses’ Media Gallery as
Lecture 04-01
(parts 1 and 2)
Homework
- If you didn’t book office hours with Yoli or Soo in March, book before April 12 EOD for partial credit.
- Submit Assignment #9: CSS / JavaScript in bCourses by April 7 at 11:59 pm.
- Submit final project Final project: Wireframe in bCourses by April 14 at 11:59pm.
Apr. 8: More JavaScript
- Lecture slides
- Lecture materials
- Lecture recording is in bCourses’ Media Gallery as
Lecture 04-08
Homework
- Submit Final project: Wireframe in bCourses by April 14 at 11:59pm.
Apr. 15: GitHub and Terminal + Study Hall
- Preliminary lecture slides TBU
Homework
- Submit Assignment #10: Progress in bCourses by April 21 at 11:59 pm.
Apr. 22: Career workshop + Study Hall
- Slides
- And pizza!
Homework
- Project presentations next week
Apr. 29: Presentations
Final class
You’ll be presenting your work in progress to the class for feedback.
- Peer Feedback is due April 30 (day after lecture) at 11:59 pm.
May 6: Final Projects due
No lecture
Submit Final Project by 11:59 pm.
About the Class
Changelog (for everything below)
- Updated January 29, 2024 to indicate that any change refers to policies listed below.
Course description
It is increasingly hard to work in journalism without having a basic understanding of how your work will be presented online. In this course, you will be introduced to basic concepts, terms and approaches to web development, including:
- HTML (the structure of a webpage)
- CSS (the style and layout of the page)
- Wireframing and web design
- Basic JavaScript
Objectives
By the end of the semester, you will have the tools and knowhow to efficiently communicate with newsroom developers, graphics reporters and designers, whether you want to collaborate on creating a newsletter, a story page or even a site for your documentary or podcast. Or, you might even be interested in becoming a newsroom technologist yourself.
How you present the work, the layout, page hierarchy and interactive elements are at their core critical editorial conversations that require the same thoughtfulness and discussion as any other journalism endeavor. Expect to have those critical conversations in this class, too.
Prerequisites
- None :)
Required tools
- Laptop with a Unix or Unix-like operating system (e.g. all Macbooks; a Dell, Lenovo, or ThinkPad with Ubuntu; tell us at class if you have something else)
- GitHub.com account (it’s free)
- Text editor: We recommend VS Code (free) and Sublime Text ($99), which is more user-friendly for new coders
- Color Oracle (accessibility tool for Mac)
- Poll Everywhere account
- Proactive inclusivity of and respectful communication with fellow students and instructors
Announcements
- We’ll make announcements by Slack at #j220. Please make a habit of checking your Slack once a day.
- If a class needs to be shifted to Zoom, we will send an announcement by Slack. We will also send a Google Calendar invite with Zoom link to your Berkeley email address.
Office hours
We’ll wait up to 10 minutes for your arrival, and then sign off.
You will lose 1 point if you:
- do not show up within 10 minutes
- cancel after 9 am on the day of your booked office hours
Otherwise, you’ll get up to 1 extra credit point a week for every office hour you book and attend.
Class expectations
The success of this course depends on the level of commitment of each student. It’s up to you to carry out your class work and speak up about any concerns or difficulties you have. In return, we will do our best to provide a clear lesson plan, give you timely feedback, and advise you so you can achieve the course’s objectives.
The Student Code of Conduct is in effect at all times. Additionally, all students must follow the COVID-19 Health & Safety Response.
Attendance and punctuality
Classes will be held in person.
We meet 13 times for lecture during the spring semester. There will be no lectures on President’s Day and Spring break.
Two unexcused absences will result in dropping a full letter grade; three unexcused absences will result in an F.
We’ll adhere to Berkeley time and start lecture promptly at 6:10 pm. If you’re going to be late, message both Yoli and Soo in the J-school Slack. One of us will try to monitor the Slack near the beginning of class. Be the least disruptive as you can when you arrive to not disturb the lecture and other students.
We’ll have one ~15-minute break in the middle of class. Occasionally, we will end the class early.
A lecture may be remote for COVID-19 related quarantines, poor air quality due to fires, power outages, instructor illness or exposure, changing public health guidance, etc.
If you’re sick or have a family emergency, email us anytime before lecture to let us know. (If it’s really an emergency, email when you get the chance — you don’t have to get in touch from the back of an ambulance!)
We will make course materials available on this website and can help you to a reasonable extent. However, it is ultimately your responsibility to catch up with the class.
Participation in class
Participation is worth 5 points per lecture for ~12 lectures.
You’re expected to adhere to the Guidelines for Dialogue & Community Expectations.
Set your phone to silent or Do Not Disturb mode before class begins. Do not answer calls or text during class. If it’s an emergency, quietly step outside to take the call. If you need to use the restroom, you can go without asking for permission, but do your best to not disturb the lecture or other students.
Students should not check email, social media, notifications, or the news during the lecture portions of the class. Participation points will be docked if you get caught texting or browsing while in class.
Try your hardest to receive feedback constructively. Your work will be subject to intensive and substantial editing in the future. Learning how to give and take feedback is a tremendous part of learning how to grow as a human and as a journalist.
What should you do if you’re feeling sick?
No matter how OK you feel, don’t come to class if you think you’re contagious (with a cold, flu, strep, coronavirus, etc). Lectures are recorded; however, there is a risk that the wifi is choppy, the recording messes up, or some other problem. Again, it’s ultimately your responsibility to catch up with the class. Talk to us about how.
Assignments
All assignments must be submitted on time in bCourses. There will be no exceptions made for late assignments except for DSP, medical reasons, and family emergencies.
An assignment will be dropped a full letter grade for every 24 hours that pass after the deadline, starting the minute after the deadline (e.g. an assignment with no mistakes will be graded as 90% one minute after deadline, 80% one minute and 24 hours after deadline, and so on).
Homework is typically assigned at Monday lecture, then due the coming Saturday at 11:59 pm. We’ll do grades on Sunday. We’ll review homework at the beginning of the following Monday lecture. We’ve made changes to this policy before, with feedback and participation of the class. We’ll see how things go!
Just FYI, lecturers are often out of the loop when it comes to what’s going on at the School of Journalism. If something is impacting your work, please come to us and let us know.
Grading rubric
Assignments and participation is estimated to be at 400 points total.
Grade | Percent |
---|---|
A | At least 90% of total points |
B | At least 80% |
C | At least 70% |
D | At least 60% |
F | Below 60% |
Academic dishonesty and plagiarism
The high academic standard at the University of California, Berkeley, is reflected in each degree that is awarded. As a result, it is up to every student to maintain this high standard by ensuring that all academic work reflects their own ideas or properly attributes the ideas to the original sources. These are some basic expectations of students with regards to academic integrity:
- Any work submitted should be your own individual thoughts, and should not have been submitted for credit in another course unless you have prior written permission to re-use it in this course from this instructor.
- All assignments must use “proper attribution,” meaning that you have identified the original source of words or ideas that you reproduce or use in your assignment. This includes drafts and homework assignments.
- If you’re unclear about expectations around attribution and plagiarism, ask us.
What does proper attribution mean for code when Googling and using stackoverflow.com are the norm?
So glad you asked! If you were stuck and found code online to help you, link to the resource in your documentation, either in the code comments or in a markdown block for a notebook. Make sure you format or rewrite the code in the preferred style of your programming language (single or double quotes, snake_case or camelCase, and so on).
AI tools and ChatGPT
ChatGPT and other similar tools can be pretty good at answering basic coding questions. But sometimes they’re not. And it can be hard to tell if the code is good or not unless you know how to code. We’ll likely be able to tell whether you wrote your code yourself based on what we learn about you and the kind of code we’ve seen ChatGPT produce.
Try to complete the work on your own before turning to ChatGPT. You’ll be expected to understand the code you’re turning in.
If you use ChatGPT, make sure you tell us the exact prompt you used. Also, write a sentence about what you learned from ChatGPT’s response.
Failure to cite AI tools or properly attribute code you found on the internet will result in warnings, docked points, and a possible F in the class.
Disabled Students’ Program
UC Berkeley is committed to creating a learning environment that meets the needs of its diverse student body including students with disabilities. If you anticipate or experience any barriers to learning in this course, please feel welcome to discuss your concerns with us.
If you have a disability, or think you may have a disability, you can work with the Disabled Students’ Program (DSP) to request an official accommodation. DSP is the campus office responsible for authorizing disability-related academic accommodations, in cooperation with the students themselves and their instructors. You can find more information about DSP, including contact information and the application process here: https://dsp.berkeley.edu. If you have already been approved for accommodations through DSP, please meet with us so we can develop an implementation plan together.
Students who need academic accommodations or have questions about their accommodations should contact DSP, located at 260 César Chávez Student Center. Students may call 642-0518 (voice), 642-6376 (TTY), or e-mail dsp@berkelely.edu.
Additional student services
- Berkeley Journalism Student Services will help with questions and services related to advising and course registration, career development, funding and financial aid, and more.
- Basic Needs Center provides support with all the essential resources (food, housing, etc.) needed to not only survive, but thrive here at UC Berkeley.
- Tang Center Counseling and Psychological Services offers short-term counseling for academic, career and personal issues. There is no charge to get started, and all registered students can access services regardless of their insurance plan.
- The PATH to Care Center provides affirming, empowering, and confidential support for survivors and those who have experienced gendered violence, including: sexual harassment, dating and intimate partner violence, sexual assault, stalking, and sexual exploitation. Confidential advocates bring a non-judgmental, caring approach to exploring all options, rights, and resources.