<p>I'm gonna be transferring into Penn next year. I've always been interested in learning how to program (I took AP Computer Science AB in high school), but I'm not actually interested in a full-blown engineering degree. I love that Penn gives you the opportunity to get a CS minor, but another interest of mine is preserving my GPA for grad school/employment. I generally hate this line of thinking, as college is the one chance you have to study things that really interest you, but I feel as though it's a legitimate concern in this case.</p>
<p>I'm guessing this isn't allowed, but can you take minor courses pass/fail? If not, does anyone have experience with Penn's computer science courses? I was a Math major at my old school (UCLA), so I think I can handle them -- I'm just wondering how hard it is to get A's/B's without it affecting other classes.</p>
<p>You cannot take minor courses P/F. Depending on what CS course you take, it could be very difficult or very easy (architecture vs technology and policy).</p>
<p>Well, I’ve only finished my freshman year in Computer Science, but I don’t think the programming classes are impossible by any means. However, I’m fairly confident that CS comes pretty naturally for me - I don’t have to try very hard to exceed. That being said, the hardest part of the programming courses is the homework assignments. They tend to take a very long time and even when you think you have considered everything, you’re likely to lose some points not accounting for the most obscure ‘corner cases’ for inputs. Tests are pretty straightforward most of the time - they don’t want to trick you, but they definitely test your ability to write novel code on the fly, understand memory management, and catch logical and syntactical errors. Practice exams are almost always posted, and review sessions are regularly held with office hours available for extra help. To summarize, the tests are very doable if properly prepared for - it’s not like other classes that I know (ahem, BIOLOGY) where you can know the material like the back of your hand and still do average. As far as grades, the classes are curved high, so lots of people get in the A-/B+ range. Let’s just say this: I should have studied A LOT more for my CS tests, but in the end, I still got A-'s in the courses.</p>
<p>Now that’s just the programming classes. You’ll have to take a class on Math foundations of Computer Science (CIS160) , which I found to be much more difficult than the other CS courses, as it is an entirely proof-based course. </p>
<p>I wish I could offer some input on the higher-level CS courses, but that’s all I can provide as of now. Hope this helps.</p>
<p>How hard would you say intro CS courses would be for someone with no prior experience? Is background knowledge expected? My school doesn’t have APs and I’ve never programmed, but CS looks pretty interesting and I’m considering testing the waters hah.</p>
<p>CIS110 won’t be too much to chew, but I think that you could get behind quickly if you try to jump straight to CIS120. Besides, 110 teaches the object oriented paradigm, which is an important foundation for future CS studies. :)</p>