Summary
- Class 00 - 19-January-2016
- Class 01 - 26-January-2016
- Class 02 - 2-February-2016
- Mardi Gras - 9-February-2016
- Class 03 - 16-February-2016
- Class 04 - 23-February-2016
- Class 05 - 1-March-2016
- Class 06 - 8-March-2016
- Class 07 - 15-March-2016
- SpringBreak - 22-March-2016
- Class 08 - 29-March-2016
- Class 09 - 5-April-2016
- New Orleans Maker Faire - 9-April-2016
- Class 10 - 12-April-2016
- Class 11 - 19-April-2016
- Final - 26-April-2016
Return to Class Main Page
Class 00: 19-January-2016
- Announcements
- ACM Meetings
- ACM Arduino Night/study sessions
- New Orleans Mini Maker Faire - April 9
- LSU Programming Contest - TBA (maybe April 2)
- Class policy
- Grading policy
- Calendar
- web
- mailing list
- contests
- Homework:
Return to Class Main Page
Class 01: 26-January-2016
- Announcements:
- Marvin Minsky passed away (history of CS)
- First ACM Meeting a week from tomorrow
- DMC screening of Atari: Game Over. Zak Penn (the director) will be a guest speaker. January 27, 6:30 PM.
- Global Game Jam - this weekend
- UVAthon
- Homework
- register for an account at UVA
- send mail to class@isaac.lsu.edu with your UVA id number
- Continuum
- resources
- UVA
- uHunt
- uDebug
- class website
- Mentioned that Ted was a good thing
Return to Class Main Page
Class 02: 2-February-2016
- Announcements
- First ACM Meeting is tomorrow in Tureaud 206 at 6:30 PM
- UVAthon
- Homework
- register for an account at UVA
- send mail to class@isaac.lsu.edu with your UVA id number
- talked abouut patents, copyright, trademark and impact on CS
- ethic, example was developing game cheats that out the user as a cheater (cheating was bad in a game, so somebody developed "cheats" that folks used that caused them to be identified as cheaters)
- Problems covered: 12015, 12019
Return to Class Main Page
Class mardigras: 9-February-2016
Return to Class Main Page
Class 03: 16-February-2016
- Announcements
- ACM Community Meetup in Coates 236
- Projector and laptop did not get along -- projector kept dropping video regardless of setting
- topics brushed across:
- If you developed a new programming language, what features would include, remove?
- Compiled languages vs interpreted vs intermediate
- Compiled
- Compilers process source code and usually produce machine language
- A linker then adds the library information and sets actual addresses in code
- Normal process is:
- edit
- compile
- link
- run
- early C cheated a little. It created assembly language instead of machine language, so its process was:
- edit
- compile
- assemble
- link
- run
- Compiled languages tend to execute more instructions in less time (run faster)
- Compiled lanuguages tend to be difficult to debug (require learning and using a debugger or staring at source code)
- Compiled languages tend to be strictly typed, tend to require declaration of variables
- Some examples: Fortran, COBOL, C, C++, PL/1
- Interpreted
- Interpereted languages compile/translate one line at a time into machine language and then execute them
- Speed is lost when a loop occurs and the interpreter has to reprocesss line(s)
- Some interpreters cache the translated lines to reuse when possible
- Interpreted languages tend to be loosely typed
- They are usually easier to debug since your code is run interactively, you can stop and look at values, even change them sometimes and continue -- essentially an interpreter is a on demand compiler running inside a debugging environment
- Some examples: BASIC (many of them), APL, Python (mostly), PHP, Ruby
- Intermediate
- Some compilers translate to an intermediate language (usually one that cannot run natively any where)
- You then execute the intermediate code in a interpreter
- This means the compiler produces the same code regardless of machine/OS
- It also means that an interpreter has to be written for every machine/OS combo (easier than writing a compiler)
- The first example of this that I know of is the UCSD Pascal Pcode
- Java is another common example. The interpreter is the JVM (Java Virtual Machine) that runs your code
- Unfortunately, JVMs vary between machine/OS combos and do not produce uniform/identical results. Math and logic are fine but things like guis differ. Because of these differences it is possible to produce code that works on one platform but not on another
- Talked about style -- yet again
- Talked about style evolving. Pointed out that as your style evolves, it amkes old code you wrote more difficult to understand
- Suggested that you look into tools that restyle code (like highight. As you learn which switches change code to look the way you like, you are basically defining your style. As your style changes, your switches might change. Two folks could compare their switches to see how their styles differ (much easier than looking at code and trying to decide). This could make it much easier for a team to decide on a common style. You could even choose to restyle all code before comiting so that the projects style remains consistent.
- Consistent style makes code easier to understand/debug/modify/update...
- Compiled
Return to Class Main Page
Class 04: 23-February-2016
- No class -- LSU closed because of tornado threat
Return to Class Main Page
Class 05: 1-March-2016
- Can practice make you an expert at a programming language?
- Do good coders code in the morning or late at night?
- What template do you use in competitive programming?
- How do I prepare myself so that I get qualified for ACM ICPC 2017?
Return to Class Main Page
Class 06: 8-March-2016
- No Class - I was ill
Return to Class Main Page
Class 07: 15-March-2016
- Announcements
- ACM Meetup Tomorrow
- April 9 -- NO Mini Maker Faire
- Most of class spent talking about privacy, encryption, the FBI/Apple case
Return to Class Main Page
Class break: 22-March-2016
Return to Class Main Page
Class 08: 29-March-2016
- Annoucements
- ACM Meeting: Ryan Rousseau and elections
- Upcoming New Orleans Maker Faire
- Upcoming North American Open
- Cover problems: 12398, 12376, 484 (mistake in sample output), 10235,
Return to Class Main Page
Class 09: 5-April-2016
- Annoucements
- Upcoming New Orleans Maker Faire
- Upcoming North American Open
Return to Class Main Page
Class nomakerfaire: 9-April-2016
Return to Class Main Page
Class 10: 12-April-2016
Return to Class Main Page
Class 11: 19-April-2016
Return to Class Main Page
Class 12: 26-April-2016
- Final
Return to Class Main Page