#cs106a
Explore tagged Tumblr posts
Text
May 20th, 2025
Day 1/100
Long time no see. Things have gotten pretty busy on my end that I kind of forgot about this blog but hey, I'm back. Going to start over with the productivity challenge thing. I miight not be able to take photos every day. (Would it be cool to make that a challenge too though? I think so)
Since April I've been enrolled in Code in Place 2025, a free programming course that teaches the first half of Stanford University's established intro course, CS106A. I've never dipped my toes in programming before (unless styling text in html counts?) , so this is all very new and exciting to me. The assignments can be entertaining and challenging at times, but that's exactly what makes it fun!
Start week 5 (Graphics)
Clean enclosures
Clean bathroom
Article review
Create flashcards
Finish tech doc
Highlights
Finished The Rose Code
Continued Majapahit
3 notes
·
View notes
Text
0 notes
Text
LEDA Peer Mentoring
Shoutout to LEDA for always providing me support when I need it, but also giving me a chance to pass it down. As mentioned probs plenty of times on this blog... I regret a lot of the choices I made my freshman year. I wish I’d taken the dive and enrolled in CS106A fall quarter when I was the least busy and also that I enrolled in math sooner -- bc I could have probably taken more, darnit. Anyway, all of that being said, I want to make sure that frosh that come after me are willing to be risk takers as well as disciplined -- HA HA *pulls collar* -- so that they can really make the most out of their four years.
Anyway, so far this year, I have had the privilege of mentoring two frosh, Sal and Ghawayne, who are both premed.
[INSERT GREY’S ANATOMY MEME HERE]
Needless to say, I have really enjoyed the experience thus far. I love listening to other people and learning about their lives, but more than anything I enjoy seeing people grow and chase their dreams.
^ literal picture of me cheering on Sal and Ghawayne this year
1 note
·
View note
Note
are you in stanford for the school year or high school summer college?
I did HSSC & I took E40M, CS106a and ME 232
3 notes
·
View notes
Text
Getting back to CS106a
Getting back to CS106a
If one wants to make the startup code to work in the latest Eclipse. You need to install JAva 1.6 and change it on the Eclipse settings. It defaults to the latest one on my Mac.
View On WordPress
0 notes
Text
Meet the Courserians: Jennifer Wolochow, “education is an important foundation for humanity”
Jennifer is a Product Manager here at Coursera. After getting her degrees at Stanford she dove into education and tech and finally found Coursera. As a Product Manager, she works closely with engineers and designers, prioritizes feature requests, and delivers product roadmaps to make teaching on Coursera a great experience. Read more about her journey:
What led you to work at Coursera?
It was a winding path, but eventually I realized that EdTech is the perfect combination of my interests in education and technology.
I always thought that I wanted to be a teacher since I enjoyed my first jobs as a tutor and a camp counselor. I was inspired by my favorite high school teachers who really opened my mind to think about how and why people live so differently all over the world – that made me want to become a teacher so I could similarly open up people’s minds. I ended up studying philosophy and religion for my undergraduate and Master’s degrees at Stanford and really enjoyed it.
I’ve also always had a techie side to me. My dad is an engineer and we grew up with computers all around us, so I learned a lot from him and became comfortable with technology from an early age. After college, I joined Teach for America where I taught second grade at an elementary school in San Jose. My favorite month of teaching was when we had iPads in my classroom and that’s when I first became interested in EdTech. After teaching, I worked at a different startup but really missed education and that’s when I found Coursera, which was a great blend of both my interests.
What was your first role at Coursera?
My first position at Coursera was as a Partnership Manager. A Partnership Manager is like an account manager who acts as the main point of contact at Coursera for a portfolio of universities, with the goal of building strong relationships and helping both sides get the most value out of the partnership. In that role, I worked closely with professors and other university administrators to help them decide which courses to teach on Coursera and understand how teaching online is different than the way they’d taught on campus in the past.
My favorite part of the job was talking to my partners about our platform features and helping them figure out how to use our platform to teach most effectively. I quickly became the go-to product expert on my team, which eventually evolved into a full-time role where I acted as the liaison between partner-facing teams and the product team. That’s how I got so much experience working with product teams and realized I wanted to become a Product Manager, which is what I do now.
What do Product Managers need to know?
It really depends on the company, since the responsibilities of a Product Manager (PM) can vary. Some companies require PMs to have a technical background. Others put more emphasis on user experience design, and might not care whether PMs have engineering experience.
Here at Coursera, PMs don’t necessarily need to have a technical background. Even though I didn’t study computer science in college, I’ve studied some since then on Coursera and with my friends. Some of the courses I took that really helped me were CS106A from Stanford (I took it back when it was on iTunes), Programming for Everybody (Getting Started with Python) from University of Michigan, and Introduction to Databases (SQL) from Stanford. Even though I’m not an engineer, I know some basic concepts and feel comfortable using technical language enough to be able to communicate with my team. The ability to translate between technical and non-technical stakeholders, both internally and externally, has been incredibly useful in all my roles at Coursera, and especially as a PM.
What are some of the challenges of the job?
One of the biggest challenges a PM faces is having to say “no” to good ideas. There are so many good ideas about what we could build, but we don’t have infinite resources so we have to focus. Over the past few years at Coursera, I’ve built a feature request process to track all the feedback and ideas we hear from our partners, learners, and others so that they don’t get lost in the void. We collect all the feature requests in JIRA and meet with key stakeholders to prioritize the top requests every quarter. It’s really tough to get lots of different stakeholders to agree on what’s most important to fix or build, while also staying aligned with our company priorities. Ultimately, it’s the PM’s responsibility to decide what makes it onto our product roadmap.
What is the best part of working at Coursera?
I’ve been here for 4 and half years and the best thing is knowing that no matter what role I have, I’m contributing to our mission of expanding access to education. I believe that education is an important foundation for humanity because if we have more people who are educated, then we’ll have more people who are able to help solve the rest of the world’s problems.
I also love the people here. We have an incredibly collaborative and supportive culture at Coursera. We work hard to help each other on projects, and there are many projects that involve multiple teams, so we have to be good at cross-team collaboration. People are usually happy to answer a question or point you in the right direction. I found this to be true when I first joined, and even still today as I’m starting to work with a new product team.
Interested in becoming part of the Coursera team? Check out our Careers Page to learn more about available positions, company values, and perks and benefits of working at Coursera.
The post Meet the Courserians: Jennifer Wolochow, “education is an important foundation for humanity” appeared first on Coursera Blog.
Meet the Courserians: Jennifer Wolochow, “education is an important foundation for humanity” published first on https://medium.com/@GetNewDLBusiness
0 notes
Link
"Programming Methodology (CS106A) is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language."
At the Standford CS106A courrse, you'll find all the necessary information and resources for CS106A, like how-to-videos, handouts, assignments and so on. If you haven't seen it already, be sure to check out their youtube lecture videos.
The great thing about this educational course is that you don't have to be a Standford student complete them. Of course, you wont get a grade, but it's really a great learning experience to anyone who is interested in programming and Java. If you are, I encourage you to follow along and post your assignment solutions and ideas here. Good luck :)
12 notes
·
View notes
Text
My CS professor just confirmed that gif is pronounced with a hard G, not “jiff.” He was holding a prop lightsaber at the time, so if I were you I’d be inclined to believe him.
7 notes
·
View notes
Text
Consonant Detector
As part of the class, I'm working through several of the exercises in the textbook. They aren't assignments, but it's good to do a bit of extra work. This one is to write a method to determine if a character is an English consonant. Chapter 9, Exercise 1, "The Art and Science of Java". Design concerns- What if the char value you are testing is not a letter? You could rely on clients to only feed it letters, but that seems like a bad idea. Someone would forget to test the data, and the data would end up being non-alphabetic.
Now, there's two ways to handle this that I see. You can test your data internally to the method, or you can test for consonants specifically.
Internal data testing is good. You can't control the data being passed. Doing things like calling Character.isLetter(ch) gets you in a good habit for when you don't have such an easily defined domain to test for as English consonants.
With that done, you don't need to directly test for consonants. You can test for vowels, and return false if those tests succeed. 5 tests, vs 21 tests. While premature optimization is generally questionable, here, you're doing the same exact thing. Just a lot less of it.
/* ConsonantDetector.java * Program to test method isEnglishConsonant(ch), which determines if the * passed character is a consonant in the English language. **/ import acm.program.*; public class ConsonantDetector extends ConsoleProgram{ public void run(){ for(char i = 'A'; i <= 'Z'; i++){ if(isEnglishConsonant(i)){ println(i); } } } /** Determines if the passed character is a consonant in the English alphabet. * While 'y' sometimes fills the role of a vowel, this function assumes it is * a consonant. Results will be unpredictable if passed a valid letter from * another language * @param ch character to be tested * @return true if letter is a consonant; false if it is not*/ private boolean isEnglishConsonant(char ch){ /*Return false if ch does not hold a letter*/ if(!Character.isLetter(ch)){ return false; } /*There are fewer values for vowels, so we test for and reject those, * returning true if none are rejected*/ switch(ch){ case 'A': case 'a': case 'E': case 'e': case 'I': case 'i': case 'O': case 'o': case 'U': case 'u': return false; default: return true; } } }
4 notes
·
View notes
Note
how did you first get into comp sci? i really want to start learning it but i'm not sure what resources are best (my school offers no classes sadly)
There are 3 ways I got into CS
My upbringing. My dad is a network engineer and he has been teaching me the ins and outs of CS since I was a little kid. I also live in Silicon Valley, the tech center of the world. This method probably won’t help you, but just know that it takes a lot of time and effort to get good at programming!
Online resources. Khan Academy, Code Academy, and Code.org are all great, but they require a lot of dedication to get through. Stanford’s CS106A, my favorite CS class, is fully online here.
Hackathons. My favorite way to learn. Basically, they are programming competitions. There might be some in your area, but if not, there are plenty of online ones too. These are a great way to learn by doing, and make friends too!
Hope this helps! If you are wondering what language to start with, I would recommend Python :)
4 notes
·
View notes
Text
cs106a code snippet - transl to - javaSE (stanford java -into- standard java)
import static java.lang.System.out; //import static java.lang.Math.random; import java.util.Scanner; import java.util.Arrays;
public class Stanf_16 implements Runnable{
//Static Field Constants: private static final int MAX_SIZE = 5; private static final int SENTINEL = -1;
// readInt equivalent: userInput + hasNextInt() + nextInt() static Scanner userInput = new Scanner(System.in);
Stanf_16(){ super(); } public static void main(String[] argzilla){ Stanf_16 s = new Stanf_16(); s.run(); userInput.close(); //closes resources }//close main public void run(){ int[] testN = new int[MAX_SIZE]; int numScores = 0; //int x = (int)(random() * 5); while(true){ out.print("Enter a test score: "); if(userInput.hasNextInt()){ int score = userInput.nextInt(); if(score == SENTINEL) break; testN[numScores++] = score; //Assign each new userInput score to an //index in the array (1st) & then (post) increment the index by 1 (after)
}//close if }//close while out.println(Arrays.toString(testN)); }//close run }//close class
//========== lect16 code snippet:
public void run(){
int[] mid= new int[MAX_SIZE];
int numScores = 0;
while(true){
int score = readInt( “ ? “);
if(score== SENTINEL) break;
mid[numScores++] = score;
}
}
1 note
·
View note
Photo

06/07/2012
I've noticed that the dating on these is quite bad so I'll start dating them myself.
Hehe, month long pause in the posts. Anyways...
I'm done with lecture 3!
It's not quite leisure, but now that it's summer vacation, the line between things gets awfully blurry. I'd thought I'd post a celebration of finishing my first course-week of the Stanford Engineering Everywhere's CS106A Introduction to Computer Science - Programming Methodology. Hopefully things will continue nicely.
1 note
·
View note
Text
Remove all Occurrence
This is number 2 from handout #4 : string processing.
/* * RemoveAllOccurences */
import acm.program.*;
public class RemoveAllOccurences extends ConsoleProgram{ public void run(){ while(true){ // infinite loop String str1 = readLine(“Give…
View Post
0 notes
Text
The Art and Science of Java - Exercise Solutions - Chapter 3 Exercise 1
/*
* FeetAndInchestoCentimeters.java
* --------------------------------------
* This class converts feet and inches to
* centimeters.
*/
import acm.program.*;
public class FeetAndInchestoCentimeters extends ConsoleProgram{
public void run(){
println("This program converts Feet and Inches to Centimeters.");
double feet = readDouble("Enter value in feet: ");
double inches = readDouble("Enter value in inches: ");
double cm = ((feet * 12) + inches)* CENTIMETERS_PER_INCH;
println((int)feet+"ft " + (int)inches+"in = " + cm + "centimeters");
}
/*private constants*/
final static double CENTIMETERS_PER_INCH = 2.54;
}
0 notes
Text
Humble beginnings
I began with a lite version of rpgmaker vx ace when it was released on steam, by downloading the lite version directly from the developer. The limitations of the lite version eventually led me to download the 30 day trial and after that I missed the boat on a steam sale for 50% off. I’d debated the cost over and over and decided against it. This bugged me to no end when the sale ended, but I got lucky when an email newsletter informed me that they were having a golden weekend sale (look up golden weekend). Not missing a good opportunity twice I bought the full version and a tileset to play with and proceeded to further develop what I had accomplished in the trial. My project at that point was just a culmination of learning to use the interface but it was headed somewhere and I decided that I would keep the premise and start anew with an actual development plan and a story. So, with some inspiration from Simon Sinek and a $3 kindle book I now have the beginnings of my game development journey. I am simultaneously reading the following books. The art and science of Java: a textbook used in the stanford cs106a course available to watch in lecture form on youtube. (Mehran is an amazing lecturer and the series is easy ti get into. All of thr course material is available online for free except the text book, some lookig around produced a copy I now use.) Character Development and Storytelling for Games: a text book outlining how to write compelling characters and stories for non linear storytelling mediums (video games). Lazy Designer- start your career in game design now: an insiders guide to getting started in the video games industry. Annnnd various guides online and on YouTube for working in rpg maker. ——- With that list and my progressbin those books so far, I began with writing my story, and for this I stared with WHY…
0 notes
Text
cs106a Lect9 Incrementor program... (<- !(not) a vararg (nor a lambda)... )
again just marveling at the subtle beauty of Prof Sahami’s - Stanford code - it’s simple - minimal & yet very deep (at least 2me)
i have to look again to see other code usage of the ivar - which - stores an object’s state in-between method calls (that’s a mouthful)
ie- instance variable - so named bc it relates to instances - instantiation - a new instance of a class (ie an object)
transl: an ivar stores values & those values persist & aren’t lost at the close of any particular method
---
but what i just noticed is: he actually makes use of the ivar & illustrates effective efficient use of it - i have to look carefully at other code - i think in the other code - usually - ivar’s are declared & then used only once
iff: ur only using an ivar once - (i realize) it’s more efficient to make the variable local - to the 1 usage - in a method
I’m looking at his Incrementor - Counter program - which is so simple & yet subtle & profound - perhaps profound just because of its simplicity
But he uses the counter ivar - 4 (technically 5) times - once to declare it - importantly uninitialized (to allow different usages later)
twice in overloaded constructors (that’s 3 times - counting how many times he uses the ‘counter’ ivar) & 4th inside a method (5th he increments the counter - counter++)
& the program outputs the effect of the different usages of that 1 instance variable (he also lectures in a clever & funny way about - persistence of the primitive variable (ivar) - when he says: it should “bother you” - why should it bother me ? ) - funny that i look at it now & hell yeah it bothered me!
changes to the primitive variable should NOT effect the caller- method - the changes shouldn’t persist - or - should they - what a great lesson
i think its lecture 9 (8 or 9) - the more i learn - the more i love his java class - those ‘kids’ are super/uber smart - ‘getting’ that stuff on the 1st pass - ie - live
0 notes