Course description
Computer science is all about solving problems, and to solve a problem well, you must design a good solution. But what is good design and how can you implement it? This course will teach you how to work through the design process and use user-centered design thinking to build your own web solution. The structure of this course includes lectures on the design process and basic web development. There will be small homework assignments and a semester-long group project so you can apply the design and programming skills you learn in lecture.
Course logistics
Thursday, 4:30-5:20pm
Rice Hall 032
CS 111x or equivalent knowledge
Familiarity with HTML/CSS (basic web technologies) and some object-oriented programming language is recommended. If you’ve messed around with any of those, that’s perfect. If you’re unsure whether your experience is sufficient, please contact one of the course instructors.
Useful links to refresh:
- HTML: https://www.codecademy.com/learn/learn-html
- Section 1: HTML Elements and Structure
- CSS: https://www.codecademy.com/learn/learn-css
- Sections 1-5, non-Pro lessons (there are 7)
- Javascript: https://www.w3schools.com/js/default.asp
- Through “JS Objects”
Any required readings will be provided.
However, here are some related readings, if you're interested:
- The Art of Innovation by Tom Kelley
- Design Driven Innovation by Roberto Verganti
If you need to contact someone, email one or both of us first. If your issue isn't resolved or if you don't feel comfortable talking to us, only then email Professor Basit. Be sure you tag your emails with CS1501.
Disha Jain dj9am@virginia.edu
- 2nd year CS major, Entrepreneurship and Math minors
- Interests include natural language processing, web/mobile application development, and human-centered design
- Office hours: TBD
David Zhao dz6hu@virginia.edu
- 2nd year CS/Statistics major
- Interests include machine learning, web app development, and psychology
- Office hours: TBD
Dr. Nada Basit basit@virginia.edu
- CS Professor
- Research includes machine learning, bioinformatics, data mining, pattern recognition, biometrics, and computer science education
- Office: Rice 405
- Introduction
- HTML, Git
- Problem Solving
- CSS
- Prototyping
- Javascript
- Server/Client, Serverless
- CS Professor guest speaker
- Design Thinking guest speaker
- Current industry technologies and developments
- Lecture chosen by student interest
- Present final projects
This is a 1-credit pass/fail course. To pass, you must receive a grade of 70% or higher.
40% - Attendance. If you are going to miss class, please email us. We will excuse absences on a case-by-case basis, but you need to let us know beforehand.
30% - Homework. There are weekly homework assignments posted on the course Github repository. They will be submitted via Github. If you’ve never used Git or Github before, don’t worry! We’ll teach you everything you need to know. Late assignments will have 10% deducted for every day it is late.
30% - Project. This project will be assigned at the beginning of the course and will be worked on throughout the semester. Projects will be completed in groups with a peer evaluation at the end.
The following examples are considered cheating in this class:
- Copying another student's assignments
- Copying another student's code
- Copying significant portions from sites like StackOverflow without citing your sources
The following examples are not considered cheating in this class:
- Discussing homework problems (this is different from copying someone's answers)
- Using StackOverflow for help (cite your sources for significant code)
- Referencing documentation
- Using a prebuilt library
This already a pass/fail course. You don't have to stress about your grade; we're trying to set up an environment for you to actually learn and get something out of this course.