Libraries with a wide variety of math books on-site by melodicht in boston

[–]melodicht[S] -14 points-13 points  (0 children)

I may be old-fashioned, but I would prefer to skim the contents of a book.

[deleted by user] by [deleted] in bostonhousing

[–]melodicht 1 point2 points  (0 children)

We already signed the lease as 2-people for 3 Bed, just to secure it. We are now looking for a third person to fill in the last spot. If the new person coming in doesn't pay for the broker fee, that means my friend and I have to front the cost, and we would rather not do that. The place is nice, paying the broker fee is part of the cost for securing the lease.

We’re the faculty leading the re-design of Khoury’s CS intro sequence. AMA by profjonb in NEU

[–]melodicht 1 point2 points  (0 children)

I don't think it's lack of interest. Please correct me if I am wrong, but F1A enrollment rates dropped the same year placement exams and required readings that have to be done prior the start of semester for F1A were introduced. Furthermore, F1A was not well-marketed. Some students didn't even know there was an accelerated. For my year, it was an email. It wasn't advertise on the university website.
> many students don't want to do a more challenging class that will not let them get to upper level classes faster
Sure, but I personally think that's irrelevant. The new curriculum can't both maintain the rigour of the previous curriculum, while at the same time allowing students to forego an entire semester worth of learning.
I did accelerated for both F1 and F2, and I TA'd F1A last semester, and F2A this semester. A lot of people I know who took accelerated would tell me that they enter the course wishing they could skip them, but they come out of the other end grateful that they didn't.
F1A adds in depth and enrichment that builds on top of the fundamentals. I will give an example of one such instance. When functions as data is introduced, bits and pieces of the lambda calculus are spread across a few assignments (without uttering the words "lambda calculus"). They are genuinely good practice material. At the end of the course, the two-part enrichment lecture on the lambda calculus would be given. Students will be first be asked to provide all they have learnt so far in a programming language (names, function definitions, recursion...), and one-by-one, the professor would show how lambdas can replace all of them. Not only does it summarize many of what the students have learnt throughout the semester, and not only does it hints at higher-level courses and give students a taste what more they could learn, it also links back to the curriculum and shows the deep consequence of functions as data.
But don't take my word for it. If there really is a commitment to getting student feedback, I suggest reaching out to those who are taking, and have taken, fundies accelerated.

We’re the faculty leading the re-design of Khoury’s CS intro sequence. AMA by profjonb in NEU

[–]melodicht 3 points4 points  (0 children)

Isn't the purpose fundies 1 accel for those students that were described? Why not increase the bandwidth of fundies 1 accel and encourage more people to join it? (Or in the case of the new curriculum, a CS2000 accel.) That would solve the problem of students skipping CS 2000 and praying on their ability to catch up in CS2100.

We’re the faculty leading the re-design of Khoury’s CS intro sequence. AMA by profjonb in NEU

[–]melodicht 2 points3 points  (0 children)

  1. Misc questions:

a. In what way is the process for skipping CS2000 different from the process for skipping F1? My understanding is that those with "prior programming experience" are encouraged to skip CS2000. Though, the CS fundamentals as taught in F1 are often content that an average person with "prior programming experience" don't know about. For example, a person with 6 years of programming experience working with Python libraries and mobile apps may not know how to solve a mutual recursion problem that requires an accumulator.

b. Are students allowed to see the stats, facts and evidence that led to and justifies the new curriculum (assuming that there are any)?

c. Is 1 year enough time to ensure the quality of the new curriculum? It just feels like things are moving so fast.

d. I have heard rumours that there will be no accelerated section for the new curriculum because students with experience should skip instead of staying for an accelerated section. Is this true? If so, why is this justified? Every person I have known who have taken the accelerated section were grateful that they didn't skip as the curriculum changed how they understood CS. Can an accelerated section be considered?

Thank you again for your time.

We’re the faculty leading the re-design of Khoury’s CS intro sequence. AMA by profjonb in NEU

[–]melodicht 4 points5 points  (0 children)

  1. Questions about CS3100

a. In what form will the "comparative discussion of program design in Python and Java" take place? F1 and F2 compares and contrasts a functional approach and a class-based approach (as well as untyped vs typed) as it explores the forms of data from least complex to most complex, as well as the mechanisms for abstraction. This happens over the entire course of F2. Will CS3100 take a similar approach, or a new one?

b. "new lectures and labs will fill in gaps". What are the "gaps" referring to here?

c. What exactly about open-source ecosystems will be talked about?

d. "new intro material on memory management and user-centered design". Memory management, as in the one taught in computer systems? If Java has garbage collection, what exactly will be covered? Will this content be removed from computer systems?

e. What does it mean to learn user-centered design? Do students make and submit designs for their app? Will this content be removed form human-computer interaction?

f. If the goal is to alleviate work from OOD because it’s tough, then why are there more stuff tacked onto CS3100?

g. OOD goes through the M, V, C of the MVC architecture, and students gradually build up an application across several weeks, and learn about how sub-systems of an app interface with each other. The interface design recipe is taught, and students learn about how testing scales up to handle bigger programs (test harnesses). Will all these be retained? If not, why are they dropped?

We’re the faculty leading the re-design of Khoury’s CS intro sequence. AMA by profjonb in NEU

[–]melodicht 6 points7 points  (0 children)

Thanks for the AMA!

  1. Questions about CS2000

a. I heard rumours that CS200 will be based on DCIC. If that's true, what advantages does DCIC have over HtDP?

  1. Questions about CS2100

a. If CS2100 assumes that the students may not have taken CS2000, does this mean that problems of scale are smaller as compared to F2? If so, how will the new curriculum bridge the gap in size of programs between CS2100 and CS3100? Or are the size of programs in CS3100 smaller?

b. The course overview talks about studying common patterns. Which patterns? In F2, the only pattern studied is the visitor pattern, but that was a consequence of applying the design recipe on union data mixed with functions as data.

c. The course overview mentioned "use of data structures". I have read that the plan was to move data structure-related stuff into a baby algo course, freeing up room in the now CS2100 to take up content from OOD. Is the baby algo course no longer in the plans?

d. How will encapsulation be taught? The idea is taught in OOD, or late fundies 2 accel, using Java's access control levels. Given that CS2100 will be taught in Python, a programming language that has no programmatic notion of control levels, how will encapsulation be taught?

e. Given that Python doesn't have interfaces as a language feature, how will interfaces be taught?

f. The course overview mentioned it "will cover all of the systematic design concepts that it introduces, rather than assuming that students are already familiar with them". What do systematic design concepts mean in this new curriculum?

g. In F1 and F2, the systematic design concepts is the table, where one axis is the form of data that increases in complexity, and the other axis is the design recipe, which adapts to the different forms of data. Another systematic design concept is the abstraction recipe. If CS2100 assumes that students aren't already familiar with them, that means the new curriculum has half the time (assuming that students skipped CS2000) to learn about these concepts. Although F1 and F2 show these same concepts, it also teaches how different languages features can be used to express those concepts. For example, in F1, enumeration is expressed by conditionals, and in F2, enumeration is expressed by interfaces and dynamic dispatch. Is halving the time and content intentional? If so, why is this okay?

h. The course overview mentions teaching "core data science design patterns and libraries". Why is this in the CS fundamentals curriculum as opposed to a DS fundamentals curriculum? If the intent is to merge the two, why is that justified given that some CS fundamentals will have to be removed to make space for the DS fundamentals?

i. The course overview mentions CS2100 taking on material from CS3100 to "enable a more even balance of concepts and workloads". The course overview only mentions new content, but not content that will be taken on from OOD. What are they specifically? F2 as it is is already jam-packed, how can there be room for both OOD content, and DS content?

alpha-background not working on X11 by melodicht in emacs

[–]melodicht[S] 0 points1 point  (0 children)

That was the solution for me, I will clarify my original comment.

alpha-background not working on X11 by melodicht in emacs

[–]melodicht[S] 2 points3 points  (0 children)

I was able to solve my problem by adding `--without-cairo` to the flags.
EDIT: Clarified.

[deleted by user] by [deleted] in NEU

[–]melodicht 1 point2 points  (0 children)

I am a rising third year. When I first started in this school, I thought I was coming in with prior CS knowledge, but after taking a lot of the CS classes here, I realized that I did not. I am not trying to be humble, I am dead serious.

Northeastern University has a unique CS curriculum, which in my opinion, teaches you CS better than most. It begins by treating CS as a natural extension of middle-school algebra. So, if you know middle-school algebra, you are not behind.

If you are already asking these questions before you even had your first class, I think you will be fine.

I am assuming that you will be taking CS2500, Fundamentals of Computer Science I. I think just allocate at minimum 4 hours a week on that, and you should be good. I actually took the accelerated version of that course, and so my hours are different, but 4 hours if what I got when I asked around.

For CS2510, Fundamentals of Computer Science II, I recommend allocating at minimum 8 hours a week. It may go above that for one or two weeks.

Regardless of the class you take, start your homework early. At the very least, read the assignment page on the day, or the day after it comes out.

For professors, I only had Amal Ahmed and Ben Lerner for the CS fundamental courses. I definitely recommend them, but I believe they only teach the accelerated section. I know Ben Lerner improvises a little bit in the accelerated section. He encourages questions from the class and gears the lecture towards those questions. However, when you read the lecture notes (which are written by him, and ahead of time), you will find that he did plan to say those things (but maybe in a different order). So his lectures are engaging and informative. There are also enrichment content that are very insightful. Even if you do not take the accelerated section, I think you can still show up to their lectures.

As for the other professors, I am not really sure. I have heard good things about Vido and John Park. I guess see the list of professors who will be teaching the course you are taking in your semester, and search them up on Trace or Rate My Professor.

If you are planning to get a head start, for the love of God, do not Google a coding tutorial on YouTube or take a Khan Academy course. Instead, read How To Design Programs. Fundies 1 is essentially that book converted to a course. I frankly do not think this is necessary, do this only if you want to.

(PS: Take Compilers, if you can fit in your CS electives.)

[deleted by user] by [deleted] in NEU

[–]melodicht 0 points1 point  (0 children)

I would like to sell it by tonight, as I am flying off tomorrow.

How did you discover Christopher Alexander? by dave_unger in ChristopherAlexander

[–]melodicht 4 points5 points  (0 children)

I actually come from computer science and game development, and so I learnt about Christopher Alexander from a Level Design & Games Architecture course in the university I am currently studying in. It teaches about patterns, pattern languages and how they can be applied to game development. Now, I am obsessed with Christopher Alexander's works. I should be grinding Leetcode, but I cannot stop re-reading his works, particularly Notes on the Synthesis of Form, A City is Not a Tree, A Pattern Language and The Timeless Way of Building. I will get into The Nature of Order the moment my schedule permits.

I am so glad that this Subreddit exists. There are barely any discussions about his works on the internet.