Advanced Programming (CIS 4320)

Syllabus

CRN 12914
Fall 2019

Room: BUSN 320
Contact: ivan@boost-human.com
Meeting Times:  TR 9:00 AM -10:20 AM  BUSN 320
Office Hours: By appointment only
Book: Building Java Programs
Recommended IDE: Eclipse
Additional Exercises: ReplIt

Grading

Midterm20%
Final exam30%
Group project25%
Individual project(s)25%
Portfolio+10%

Class Schedule

WeekTopicItems Due/Comments
1Introduction and Programming FoundationsFamiliarize yourself with the course goals and contents. IDE Setup. Hello world.
2Data Types and Control FlowConcatenation, variables, data types, and type casting
3User Input and MethodsScanner
4Method Types and ParametersOrganization, method types, method calls
5Boolean LogicTrue and False, And & Or
6ConditionalsIf and Else statements
7LoopsFor loops, increment and decrement operators
8MIDTERMThursday, October 17th
9LoopsWhile loops
10Nested LoopsLoops within loops
11ArraysDeclarations and traversals
12PolymorphismMethods with same name and diff params
13Objects & EncapsulationConstructors, accessors, and mutators (get/set)
14One-on-OneSemester individual review
15Final Project PresentationsFinal comments and evaluations
16FINAL EXAM

Review (Dec 5th). Final (Dec 10th, 10:00 am)

Important Dates

  • September 2nd – Labor Day, UTEP closed
  • September 24th – Individual Project 1
  • October 17th – Midterm
  • November 1st – Drop deadline
  • November 19th – Final project due date
  • November 21st and 26th – One-on-one meetings
  • November 28th and 29th – Thanksgiving, UTEP closed
  • December 3rd – Final presentations
  • December 5th – Final review. Last day of classes
  • December 6th – Dead day
  • December 6th – Portfolio due date
  • December 10th (10:00 am – 12:45 am) – Final exam

Homework

Slides

Survey

Group Project

You can work alone, or with the team of your choice, however no team can have more than 4 students in it.

You will NOT submit your assignment through Blackboard. Instead, please send it as a direct email to ivan@boost-human.com. The email should contain the .java files(s) attached, and should have “CIS 4320 Group Project” as the title. The email body should contain the names of all the team members, and your code should contain them too as a header file.

Project Final Presentation

Your final presentation will be on December 3rd. You will have 6 minutes to present to the class. You are expected to dress appropriately. You are expected to show your code. Even if the entire group does not present (it’s fine to have a single representative go through the presentation) you will be graded on being present, on the clarity of your presentation, and on your ability to answer questions. I will ask specific questions about specific parts of the code to specific team members. If that particular team member cannot answer the question, another person from the team can respond, however, your team will lose points for this. You lose more points for saying “I don’t know” than for trying and failing.

Individual Projects

Final Exam and Review

  • The final exam will be Tuesday December 10th, 10:00am – 12:45pm in our regular classroom.
  • The final exam will be in Blackboard, and you are expected to write code, analyze and describe code, write what the expected output would be of a code given a specific input, and explain certain concepts.
  • The topics covered will include data and method types, typecasting, methods and parameters, conditionals (if, else and switch), loops (while and for), tracing a nested loop, arrays, objects, polymorphism, and encapsulation (constructors, accessors and mutators). 
  • You will get 5 minutes to read the exam. You should only read for those few minutes, and NOT answer any questions yet.
  • You will get another 5 minutes to discuss the exam with your classmates. You can talk, move around, ask questions, but you should NOT answer any questions yet.
  • At 10:10 you can go back to your computer and begin the test. You can use notes, the internet, books, and any materials you’d like. The only rule is DO NOT communicate with anybody, in person or online, during the test after this point.
  • The review will be Thursday December 5th. As usual, you will have to bring your own questions. A short review will also be provided to you during class for practice.

Portfolio

Students are encouraged to create an online portfolio to highlight their work, knowledge, and achievements. Your web portfolio must consist of a website (you can use WordPress, Wix, Drupal, or other free web building tools and templates). This will award you 10% extra credit at the end of the semester. To receive full credit, your portfolio should contain the following:

  1. A professional looking picture. Don’t spend on this, use your career services department, or take one with your phone.
  2. A professional looking URL. The domain is free with some web building tools but it has a few restrictions (e.g. you can have a free domain that looks like this: firstnamelastname .wordpress.com)
  3. A link to an updated LinkedIn profile.
  4. A short paragraph describing your career goals (i.e. pursue a master’s degree, work for X or Y firm or company).
  5. A section or a list with the projects you are most proud of. These should be full projects, and can and should contain those which are done as part of your academic coursework, whether it is for this class or others

If there are any personal reasons or privacy concerns for which you would prefer not to create your online portfolio come talk to me and an alternative extra credit will be assigned. If you are taking another class with me, the same portfolio provides extra credit for all classes, provided information about the projects performed in that class is included.

Additional Guidelines

  1. No late assignments will be accepted. Please turn in assignments as-is before the deadlines to prevent a cascading effect where you are never able to catch up. Any grade is better than zero grade.
  2. The midterm and final exams are open book, open notes, and you can use the internet to search for information, however, you cannot communicate with your classmates or anyone else in any way online or otherwise. The tests will require coding and will contain quit a few of our “morning questions”, in-class coding exercises, and homework assignments.
  3. Homework will be assigned, however, it will not be graded. You will be able to receive feedback by using some automated tools. Remember, versions of this problems, whether verbatim or with slight variants will appear on your exams.

One-on-One Meetings

Schedule a time to meet with me to wrap up the semester. Slots are first-come-first-serve. I want to hear from you, ask you questions about your work for this class and assignments, and give you the chance to ask one-on-one questions. We will also discuss your grades. This will be during class time, in the classroom (for the most part). Due to the limited time there will be no rescheduling or make up appointments. Time is very limited so be punctual. This is not mandatory, but it is in your best interest. f you have to schedule after class, we will meet at the tables next to the small cafeteria inside the third floor of the business building, where the doors face the library. Sign in here.

The Challenge Corner

This section is for the more advanced programmers in the class, the curious minds, and the thrill seekers. The problems you will find on these sections are more challenging and fun to solve. There will be no class credit for solving these, however, it should give you an idea of what large companies assign applicants to do during the coding interviews. 

Challenge Month 1

Accessibility

If you feel you may require special accommodations for any reason, please contact the Center for Accommodations and Support Services (CASS) at 747-5148, go to Union Bldg., East, Room 106, or e-mail cass@utep.edu.

Recommended Additional Reading

Cracking the Coding Interview

Fun book with over a hundred challenging coding problems frequently used during coding interviews.

Algorithms to Live By: The Computer Science of Human Decisions

Not a programming book, but great for learning motivation. Co-authored by a cognitive scientist, this book shows how algorithms are used in our daily lives.

Head First Java & Head First Design Patterns

Both books show in a somewhat entertaining approach at programming and design patterns. Although they are a little outdated, particularly Java, they are still good for introductory programming exercises.

How To Eclipse