Description

This course is an introduction to computer science emphasizing computational thinking, problem-solving, small-scale programming, and applications. Previous programming experience is neither required nor expected.

General Information

Use RPI LMS for your grades.
Short cuts to class material
Lab Times and Locations
Section 1, Tuesday 10-11:50AM, SAGE 2704, TA: Matt Ferritto
Section 2, Tuesday 12-1:50PM, SAGE 2112, TA: Matt Ferritto
Section 3, Tuesday 2-3:50PM, LOW 3116, TA: Miaomiao(Angela) Zhao
Section 4, Wednesday 10-11:50AM, EATON 215, TA: Miaomiao(Angela) Zhao
Section 5, Wednesday 12-1:50PM, EATON 215, TA: Matt Peveler
Section 6, Wednesday 2-3:50PM, SAGE 2704, TA: Matt Peveler

Announcements

Your art work
5/19/14 9:25 PM

As promised, here is a selection of the art work from the final. There were so many good drawings that a selection was made!

http://imgur.com/zanWoHD

As it says at the end, have a great summer.

#pin
Course Grades Posted on SIS
5/19/14 6:37 PM

Due to some early confusion, we have updated the grade on LMS based on all exceptions and fixing the calculations on LMS for all columns.  

Keep in mind that the lab grades are capped at 100% and cannot go above that value.  Unfortunately this was not a calculation we could easily do on LMS natively and thus your grade may have "dropped" due to this cap if your lab grade was over 100%.  We apologize for the confusion.

The grades on LMS now are now correct in every column and calculated correctly according to all course grading policies - including the final course grade.  If the course letter grade on LMS is inconsistent with the grade on SIS, email the professor.  The course percentage grade and the corresponding course letter grade ranges are listed in the syllabus.

And a final note: Final sums are not rounded (due to many generous curves we applied and the bonuses we gave you). For example, a 92.5 is an A- (it is a 92) not an A (which requires 93).

Have a good summer.  

#pin

Final Exam is graded
5/17/14 5:50 PM

Took us a while, but we finally did it. The grades will go up on LMS shortly.

Due to the great artwork you provided us, we gave you a 10 point bonus. Even though the exam was 110 points, we will treat it as if it was out of 100. So, your raw grade is your actual grade. If you got above 100, it will remain so.

Here are the statistics:

Min: 26

Max: 107

Avg: 79.58

Std: 17.8

You can come and see your exam on monday in my office starting at 9AM till noon. We will not give the exams back, but you have the right to see your paper whenever you wish, even after you come back from the summer break. This will give you an opportunity to come and say hi.

You think you could do better in this exam? Don't worry, you can always do better. I learn about different ways to do the same thing every day -and I learn a lot from my mentors!

Continue practicing with new problems and challenge yourself. Rewrite your code. Look at others' code and get new ideas.

I will post here some of the best artwork and any good taglines I get (when the course evals are out).

And the most important of all, you survived CS-1. Congrats.

Sun Glasses Left After Exam
5/13/14 3:12 PM

A pair of black, purple-tinted sun glasses were left on an armrest at the end of the final.  Email the TA Jason Parham at parhaj@rpi.edu to claim them.  

If the glasses are not claimed via email by the end of today, Tuesday 5/13, they will be given to the CS department. 

Grades Uploaded
5/12/14 8:22 PM

All grades (except for the final) have been uploaded.  Check your lab, homework and test grades on LMS.  Any inaccuracies or incomplete grades should be reported to your lab TA immediately.

All grades after Wednesday 5/14 are considered final.

Final Exam Tomorrow at 11:30AM-2:30PM AT SAGE 3303
5/12/14 4:18 PM

After talking to some of you and consulting with your TAs, we decided to give you the full 3 hours tomorrow. Note that the exam is written to be a 2 hour exam. But, we want you to take the exam with lower levels of stress. 

Please come prepared for a 3 hour exam. Bring something with sugar and/or caffeine with you to help you with the long duration.

Here is some motivational video to get you ready for tomorrow!

Transition to C++, life after CS-1
5/06/14 1:36 PM


As I discussed in class on monday, I have been collecting information
for transition to C++ and Data Structures for those of you continuing
your journey towards Computer Science excellence! I guarantee you, the
rewards are most exciting if you take the challenge as you did with
this class.

I will continue to update this doc as I get more info.

Step 1: SETUP A WORKING ENVIRONMENT

Everyone highly recommends that you set up an environment that works for you for programming in C++. In fact, you can try to get some help with that with upperclass students and anyone willing to help before you leave campus.

Wing does not work for you anymore. You need to find an alternative.

You have two options:

  • Manual option: Editor+compilation in terminal
  • Use an IDE

In the manual option, you need the following:

  • A compiler for C++, i.e. g++ that allows you to compile the program and produce an executable. Since we had to compile the image library for you, you must have this already. However, I am not sure if there are differences between the compilers you have in different operating systems.
  • You need a way to write programs, i.e. an editor. There are many editors that are good for this purpose. They do color highlighting and even highlighting of error. I see recommended:

  1. Sublimetext is by far the most common (free but you will be prompted to purchase is periodically).
  2. Emacs: Emacs is the geekest thing in the world, people who use it continuously argue about why it is better than other editors. They are kind of crazy in a way. I am one of them. In fact, you can program and customize your own emacs using a programming language called lisp. Plus many operating systems actually use emacs based shortcuts. Anyways, it is free but may appear a bit lower level than some others. Prepare for a lifetime of emacs versus other editors type of discussion!
  3. Some also said that notepad+ was good enough.

  • Once you write your programs, you need some sort of command line to run your programs. In Macs, this is the Terminal app, comes for free. Mac operating system is a type of Linux, so Linux is also very similar. It is a bit more complex in Windows. They do not expect to program, so they hide the terminal. You can get a command line by typing: cmd in the Windows prompt. You can also install a tool called cygwin which would give you a terminal very similar to those found in Mac OS, Linux and Ubuntu.

http://www.cs.rpi.edu/academics/courses/spring14/ds/development_environment.php

Ok, if you have this setup, you will write your program in an editor, save it. Open a terminal, compile and run it.

IDE option: You can also use an IDE: Integrated Development Environment that combines all this. There is a bit of a learning curve, but once you get comfortable with one, you get to reap the benefits. IDEs have built-in tools for debugging, tracking programs that are connected to each other through imports, etc. Wing was a very simple IDE, but much better ones exist. Here are a few IDEs that are frequently mentioned:

  1. Visual Studio for Windows. See this tutorial for an example: http://blogs.msdn.com/b/devschool/archive/2013/01/08/writing-your-first-c-program-using-visual-studio-2012.aspx
  2. Xcode for Macs, already comes with your computer and I am pretty sure we installed the necessary command line tools for this class.
  3. Eclipse is an open source project, originated from IBM that many also find useful.

In IDEs, generally, there is a single button to compile and run. Sometimes that can hide some of the complexity that you should
get used to. But large projects are often developed in IDEs. So it is good to learn about them early on.

There is no single useful solution, use what works for you. Talk to people around you and get their advice.


STEP 2: LEARN/TRANSITION TO C++

Learn about C++ syntax, familiarities and differences. All students that I talked to recommend this site very highly:

http://www.cplusplus.com/doc/tutorial/

This is a good way to get a succinct introduction to the language.

There are also specific guide for transition from Python to C++:

http://cs.slu.edu/~goldwasser/publications/python2cpp.pdf

http://www4.wittenberg.edu/academics/mathcomp/shelburne/comp255/notes/Python2Cpp.pdf

They also recommend you go through some of the labs in Data Structures as a way to get ready:

http://www.cs.rpi.edu/academics/courses/spring14/ds/calendar.php

and buy the Data Structures textbook:

Data Structures with C++ Using STL-

by William Ford, William R. Topp · Prentice Hall · Paperback · 1039 pages · ISBN 0130858501


Let me know if you find other resources, I will add them here.

Your loving CS-1 professor.

#pin
Final Exam Overview Questions has been added to class homepage under Resources
5/06/14 10:11 AM


Title: Final Exam Overview Questions
http://www.piazza.com/class_profile/get_resource/hoxcwh77kbi40t/huv9wj3g21z3ls

Title: Final Exam Overview Answers
http://www.piazza.com/class_profile/get_resource/hoxcwh77kbi40t/huv9wov3pyr3oj


You can view them both on the course page: https://piazza.com/rpi/spring2014/csci1100/resources

Staff Office Hours
NameOffice Hours
Matthew Ferritto
When?
Where?
Miaomiao(Angela) Zhao
When?
Where?
Matthew Peveler
When?
Where?
sibel@cs.rpi.edu
When?
Where?