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

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 10th
9LoopsWhile loops
10Nested LoopsLoops within loops
11ArraysDeclarations and traversals
12ClassesClasses and methods
13ObjectsInitialization and constructors
14Encapsulation, Inheritance, PolymorphismConcepts and implementation
15Final Project PresentationsFinal comments and evaluations
16FINAL EXAMReview, Date and time TBD

Important Dates

September 2nd – Labor Day, UTEP closed
September 24th – Individual Project 1
October 10th – Midterm
November 1st – Drop deadline
November 28th and 29th – Thanksgiving, UTEP closed
December 5th – Last day of classes
November 19th – Final project due date
December 6th – Dead day
December 9th – 13th – Final exam

Homework

Week 1
Week 2
Week 3
Week 4

Slides

Week 1
Week 2
Week 3
Week 4

Group Project

Group Project 1 – Due date November 19th

Individual Projects

Project 1 – Due date September 24th

Project 2 – Due date October 29th

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.

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.

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

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