Close
Close Window

Masters of Engineering Bridge Course

Chapter 0 About This Course

Show Source |    | About   «  Chapter 0 About This Course   ::   Contents   ::   1. Getting Started  »

1. Understanding this Course

1.1. Who Is This Class For?

This course teaches introductory programming in Java, with a significant emphasis on object-oriented software design and on software testing. It is taken by students majoring in Computer Science, minoring in Computer Science, and also by students in other majors thinking about studying Computer Science.

It can be very helpful if you have already had some exposure to programming. Basic familiarity with variables and sequential logic will give you a leg up. However, the course is designed to be approachable by beginners who do not have any significant programming background. Indeed, it has developed to help people who are interested in starting on a path towards a programming career who are coming from other, not-computing disciplines.

1.2. Students of Many Experience Levels

While this course is designed and intended for beginners, please be aware that students from a very wide range of backgrounds take this course, including some students who may have significant amounts of prior programming experience. Just remember that while there are many reasons why students who already know how to program might take this course, the course isn’t intended for that audience. You may see such students in the course discussions, asking and answering questions that appear to require significantly more programming knowledge. The course staff are happy to answer such questions, but please remember that we do not expect students in this course to possess that level of knowledge or to perform as if they have already learned how to program prior to taking this course.

1.3. Online, Asynchronous, Self-paced

This course is designed to be taken in an asynchronous, self-paced fashion. All students share the same syllabus, course content, and assignments. However, be aware that the course website on Canvas and the course discussion areas involve students who are at different places in the course, and progressing at different speeds, so you will likely to see questions or information that span the course.

While the course is self-paced, we strongly encourage students to complete the course in 12 weeks. We do this for two reasons. First, the course is designed around 12, one-week units which will allow students to complete the course in a sufficiently long time to grasp the material, but not so long that they don’t complete it in time to enroll in classes during the fall semester. Secondly, research has show that students in a self-paced course are more likely not to complete the course if there is an open-ended deadline. We want you to complete the course successfully, and have a time window for completion will help you to achieve this success.

1.4. Course Support

1.5. Weekly Schedule

This course is designed around weekly units. This allows you to plan how far you need to get week-to-week to stay on track. Also, the course is designed so that the material you learn in one week is the background you need for the material covered in the following week. Make sure to do the work in order, to stay on track, and so you are adequately prepared for each new topic covered in the course.

1.6. Reading Activities

Each unit begins with a Reading Activity that includes embedded exercises to check your understanding and to allow you to practice what you are learning. These exercises are important to make sure you understand the material, so don’t skip them. They will prepare you for the lab and project exercises.

1.7. Labs

Each unit also includes a lab assignment. These labs give you hands-on experience with more structure than a typical programming assignment. You can submit your lab as many times a you want, and make corrections based on the feedback you receive. Labs are intended as practice activities to reinforce the concepts you are learning, and it is natural and expected that you may regularly run into situations where you wish to ask TAs for clarification or assistance on something you have not seen before. This is what the course discussion boards are for.

1.8. Programming Assignments <<TODO: REVISIT>>

Programming assignments will be part of each unit. Programming assignments typically come in pairs: in one, your programming assignment will be to work on a brand new problem setting up your solution and making sure you have a solid starting point. The next, your programming assignment will be to fill in the remainder of that starting point to flesh it out into a full solution.

In this course, we will cover a total of <<TODO: INSERT FINAL NUMBER HERE>> programming assignments, arranged in <<TODO: INSERT FINAL NUMBER HERE>> pairs. Each odd-numbered assignment will start a completely new problem with setting up your solution, and each even-numbered assignment will involve building the corresponding solution to a working final product. This means that the work necessary for the first assignment in each pair is an integral element of your solution for the second assignment of the pair the following week. So even if you fail to turn in the first part, you will still need to make up the work in order to successfully complete the second half. Please keep this in mind when planning how to approach the programs.

1.9. Programming Language and Environment <<TODO: REVISIT>>

This course teaches programming using Java. We will use the Eclipse IDE for code development in class, including all examples shown in lecture. See the “Install Eclipse” link on the course home page for installation instructions. The version on Canvas includes the necessary user libraries necessary for assignments in this course, and lab or programming assignments will not compile without these.

   «  Chapter 0 About This Course   ::   Contents   ::   1. Getting Started  »

nsf
Close Window