Skip to content

Latest commit

 

History

History

introduction

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Lecture 01

Introduction

3 Pluviôse, Year CCXXXI

Song of the day: theme / cinema paradiso [live] by kurayamisaka (2023).


Part 1: Character Stats

Hey, my name is Sebastián, and my last names are Romero Cruz. I teach about programming for a living.

I have been teaching at the Tandon since January 2020, making this my seventh semester as an instructor (if you count the summer). I also happen to have gotten my bachelor of science degree here, in chemical and biomolecular engineering, and my master's in computer science. So, you know, I've been here a while.

Here's how you can reach me if you have any questions:

Email Office Hours
src402@nyu.edu calendly.com/profromerocruz

Figure 1: Prof. Romero Cruz's contact information.

Unless you have a super trivial question, I much prefer you scheduling office hours with me to ask me questions about the course. Even if we only spend 5 minutes on a Zoom call, it is a lot easier for me to keep track of my calendar this way, and a lot harder for me to lose track of your e-mail.

Anyway, other things I enjoy are:

  • Slice of life anime: my favourite is Hibike! Euphonium
  • French history: anything starting with the French Revolution of 1789 to the end of the de Gaulle presidency in 1969.
  • Literature: my current favourite is Territory of Light.
  • Playing music: I play a Rickenbacker 4001C64.

That's all I want to flex at the present moment. basically spent the rest of the class talking about the syllabus, so please refer to it in the Brightspace page.

Part 2: How to succeed in this course.

I'm sure that at least some of you have heard rumours about this course—about how it's not an easy one. There's a weird misconception that, just because this course is listed as introductory, it's supposed to be easy. I, honestly, think that it's the other way around. To me, this course is difficult because it's your first exposure to computer science, and computer science is hard. Anybody who tells you that computer science is easy is either lying, trying to show off their 1114 grade, or is selling you a UDemy course. In all three cases, you should ignore them.

To paraphrase Fireship, learning how to program is almost identical to the experience of picking up an instrument. Yes, there are certainly differences in talent between musicians, and yes, there will always be "prodigies" that can pick up instruments with seemingly very little effort. Similarly, there are 10x programmers out there who can pick up computer science very quickly. The reality, though, is that most of us aren't like that. So, just like one would with the piano, oboe, or guitar, we have no choice but to practice in order to become good at it. My recommendations, thus, are as follows:

  • Program at least once a day: Our homework assignments are, generally speaking, composed of several individual programming problems. If you have five days until the deadline, then split up the work across those five days. The key is that your brain and hands get used to writing programming structures. Computer science is weirdly dependent on muscle memory, so if you program every day, even if it's just a small, simple problem, it'll get easier over time.
  • Do not cram for exams: This ties into the point above. I understand that, as students taking four+ classes every semester, you don't always get the benefit of time when studying for exams. That being said, if there's a class where cramming will get you nowhere, it's this one. Again, it's literally as if you were only started preparing for a violin recital the night before. Yes, you may be able to derive some very short term benefits (like not failing the exam), but it simply will not stick properly.
  • Get help fast, and early: This course offers a massive amount of resources outside of lecture, not least of all a veritable army of course assistants. If there is a concept that you're struggling with, ask questions during lab, talk one of our CAs during office hours, go to the tutoring centre, and/or schedule a meeting with us instructors. Concepts in computer science often build off each other, and this is doubly true for this class. Don't hesitate; ask for help. Course assistant office hours (your first source for help) will begin on 9/11, and will most likely be in room RGSH 221.
  • Memorisation will get you nowhere: Computer science was literally created in order to solve problems, of which not two are the same. Memorising the solution to problem A from a homework assignment does not necessarily mean that it will help you solve problem B on the exam, even if they are extremely similar. Try to make an effort to understand why each line of code is doing something. If you do, memorising will be almost trivial.

Next: Programming Fundamentals 1