| Office: | Hayes Hall 243 |
| Phone | (419) 372-8782 |
| greenr@bgsu.edu | |
| Web | http://www.cs.bgsu.edu/greenr |
| Office Hours | TR 9-10, 12-2 |
| Meeting Times | MWF @ 3.30 pm, Hayes 117 |
A survey of programming languages that covers multiple programming features and paradigms. The goal of this course is to expose the student to wide variety of programming languages, paradigms, features, and syntaxes through exposure to theory and hands on exercises. Topics covered include static, dynamic, strong, and weak typing, compiled and interpreted, object-oriented, functional, and procedural programming, and decision constructs. Prerequisite: Grade of C or better in CS 2020.
| Assignments | 50% | Daily assignments that will be worked on in and out of class. Due at the end of each language. |
| Quizzes | 40% | Given at the end of every language regarding the current programming language being studied. |
| Final | 10% | TBD. |
The final grade for the course will be strictly determined by the total percentage points earned, and will not be "curved". The following are the cutoffs:
| Grade | Percent |
|---|---|
| A | 90% |
| B | 80% |
| C | 70% |
| D | 60% |
| F | <60% |
Attendance in class is your choice. Students are expected to arrive for class and be in their seats by the scheduled beginning of class. If you don't show up, I'm not going to help you.
There will be NO make-up exams except for the most serious reasons such as confinement in the hospital or other emergencies. Contact the instructor or the department office immediately if you will miss an exam.
No late assignments will be accepted. If any unforeseen circumstances arise, contact the instructor ASAP. If you are having difficulties meeting deadlines, please inform the instructor.
Any assignments involving programming will be graded for completion, correctness, and style. Code that is difficult to read or poorly structured will lose credit.
It is important that you check your BGSU email regularly since important information concerning this course will be sent to that email address. If you do not use your BGSU email regularly, you should have the email forwarded to your other email account.
Bruce A. Tate. 2010. Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (1st ed.). Pragmatic Bookshelf. ISBN 978-1-93435-659-3
Sometimes, you might have to learn a second language to further your career or adapt to a changing environment.
But sometimes you decide to conquer a new language not because you have to but because you want to learn.
A second language can help you encounter new worlds. You may even seek enlightenment, knowing every new language can shape the way you think.
Writing this book has had a profound impact on the Ruby code that I write. It is more functional and is easier to read with less repetition. I reach for mutable variables less and do a better job with code blocks and higher-order functions. I also use some techniques that are unconventional in the Ruby community, but they make my code more concise and readable.
At best, you could launch a new career. Every ten years or so, programming paradigms change. As the Java language became more limiting for me, I experimented with Ruby to better understand its approach to web development. After a couple of successful side projects, I pushed my career hard in that direction and have never looked back. My Ruby career started with basic experimentation and grew into more.