This course introduces object-oriented programming, including class structure, inheritance and polymorphism. It will cover event-driven GUI programming. Other topics may include recursion, elementary data structures and algorithms, threads, file access, exceptions and intellectual property. Students will write programming projects to demonstrate their mastery of these concepts.

Outcomes:

  • Design and implement programs using the Object Oriented Paradigm that require multiple classes and structures  
  • Develop code that responds to error conditions raised during execution
  • Design, code, test, and debug simple event-driven programs that respond to user events
  • Design, code, test, and debug programs that have Graphical User Interface
  • Use industry standard debugging tools
  • Discuss the consequences of software piracy on software developers and the role of relevant enforcement organizations
  • Understand the uses and limitations of trademark, copyright and patents for intellectual property protection.
  • Work effectively in teams .
  • Use automated testing to verify correct program behavior
  • Install and use a 3rd party library/API

Announcements and News

Even though the class is all but over, this article about a java vulnerability that affects so much of the internet is too interesting not to post.

An interesting article about how US copyright law interacts with international Copyright law.


####################################

The code quiz starter for Mon Wed

####################################

==================================
For early November get the fxml file we will use for the javafx/gson project
===================================

For those whoare using Macs and are seeing strange font issues in the scene builder in intellij, this turns out to be a known bug.
You can get around it for now by using the gluon scene builder. which does still work on newer macs

===============Schedule for last half of October and early Nov==================

week of Oct 18: final pre exam quiz, Tueday Oct 19th or Wed Oct 20 depending on your section

Midterm Exam: Oct 25 or 26 depending on your section

Large Programming Quiz: Nov 3 or 4 depending on section (during the lab period)

================================================================

There is a Tutor for Comp152 and Comp250 this semester:
Brogan Wright

DMF 361 on Wednesdays, 9-12 and Fridays, 8-1

From time to time I will put up announcements or news relevant to the class.



Language Rankings

  • The Pypl List
    created by analyzing how often language tutorials are searched on Google.
  • The Redmonk Rankings
    a 2D ranking based on stackoverflow questions and github opensource commits
  • IEEE Programming Rankings
    Likely the most accurate ranking, but less often updated than all the rest.
  • TCPI Tiobe
    A very popular lagging indicator, updated monthly
  • The stackoverflow developer survey
    where they ask a bunch of professional developers what they use in their day to day work, 'helper languages' are over represented.