Homework assignments


Homework grades

Toggle the grades »

Max points: HW01 - 45, HW02 - 40, HW03 - 35, HW05 - 55,
    ID     HW01     HW02     HW03     HW05     Percent grade     Github

HW07

Toggle the assignment text »

Reading:
Agustín Cernuda del Río, How Not to Go About a Programming Assignment

Video:
N. Hardison, CS50, Valgrind

Video:
N. Hardison, CS50, Libraries

Video:
N. Hardison, CS50, GDB

Video:
W. Bangerth, TAMU, Why to use existing software

Video:
W. Bangerth, TAMU, Developing large scale software

Problems:

HW7, [ 108K ], last updated November 03, 2015


HW06

Toggle the assignment text »

Video:
N. Hardison, CS50, Valgrind

Video:
N. Hardison, CS50, Libraries

Video:
N. Hardison, CS50, ASCII

Video:
N. Hardison, CS50, GDB

Video:
N. Hardison, CS50, Binary

Problems:

HW6, [ 81K ], last updated October 22, 2015


HW04 revised

Toggle the assignment text »

Activity:
Interactive git tutorial

Video:
W. Bangerth, TAMU, Git

Video:
R. Peng, Markdown, [an error occurred while processing this directive] Local copy of the video (mp4) [[an error occurred while processing this directive]], and the lecture notes (pdf) [ 87K], posted online on October 16, 2014

Problems:

HW4, [ 75K ], last updated October 01, 2015


HW05

Toggle the assignment text »

Video:
R. Bowden, CS50, Pointers

Video:
R. Bowden, CS50, Structs

Video:
J. Jozwiak, CS50, Typecasting

Video:
D. Dicuircio, CS50, Scope

Video:
J. McCormick, CS50, Local and global variables

Problems:

HW4, [ 74K ], last updated September 29, 2015


HW03

Toggle the assignment text »

Video:
T. MacWilliam, CS50, Loops

Video:
R. Bowden, CS50, Arrays

Video:
J. Jozwiak, CS50, Typecasting

Video:
N. Hardison, CS50, Functions

Problems:

HW3, [ 97K ], last updated September 15, 2015


HW02

Toggle the assignment text »

Reading:
Virtualization

Video:

J. Leek, Command line interface
[an error occurred while processing this directive] Local copy of the video (mp4) [[an error occurred while processing this directive]], and the lecture notes (pdf) [2.6M], posted online on September 01, 2014

Video:

T. MacWilliam, CS50, C programming: Code Style

Video:

V. Shekhawat, CS50, Boolean Values

Video:

V. Shekhawat, CS50, Variables

Problems:

HW02, [ 73K ], last updated September 07, 2015

Programming (fun):

The following fully functional 'chromosome-shaped' program is one of the winners of 2014 International Obfuscated C Code Contest . What does it do?

#include <stdio.h> #define TA q=/*XYXY*/ #define/*X YXY*/CG r= void p(int n,int c){; for(;n--;) putchar(c) #define Y( z)d;d=c++\ %2<1?x=x*4 +z,c%8>5?\ x=x?p(1,x), 0:x:0:0;d= #define/*X YX*/C Y(1) #define/*X YX*/G Y(2) ;}int(*f)( void),d,c, #define/*X YX*/A Y(0) #define/*XY*/AT int\ m(void/**/){d= #define/*XYX*/T Y(3) #define GC d; return\ 0;}int(*f) (void )=m; x,q,r; int main(){if( f)f();else {for(puts( "#include" "\40\"pro\ g.c\"\n\n \101T"+0); d=!d?x=(x= getchar()) <0?0:x,8*8 :d,TA++c%8 ,TA(1+7*q- q*q)/3,r=c *15-c*c-36 ,p(r<0?!q+ 4:r/6+!q+4 ,32),q||x; c%=16)q?p( 1,"ACGT"[x /d&3]),p(q ,126),p(1, "TGCA"[x/d &3]),d/=4, p(001,10): puts(c%8?\ "CG":"TA") ;puts("GC" );}return 0;}/**/

Hints

  • Copy and save the code of the program to a file, say prog.c
  • Compile the code as usual:
    clang -Wall prog.c -o prog
  • Run the program as following:
    echo 12345 | ./prog


HW01

Toggle the assignment text »

Reading:

Mike Vanier, Scalable computer programming languages

Based on the information from the article, what language would you you choose for the first programming course?

Data analysis:

Popularity of computer programming languages

Look for the Long term trends graph and Very long term history table

Data analysis:

XYZ dominates supercomputers as never before

For the latest data visit TOP500 and chose Operating System as a category for the search

Reading:

Data science - motivation

Assorted list of links

Reading:

Scientific computing's future: Can any coding language top a 1950s behemoth?

Cutting-edge research still universally involves Fortran; a trio of challengers wants in.

Reading:

Best Programming Quotations

Problems:

HW01, [ 55K ], last updated September 03, 2015

Software:

Download and install: VirtualBox

Download and import: physics 2200 virtual appliance, ca 4GB, last updated Sep 1, 2015.

MD5 Checksum:     58BFDDE92789CD324DBD980816A9ABD0
SHA-1 Checksum:   AD5CF6E7A5DC241B74490277D12F84F2FE21776A
SHA-256 Checksum: 5E130F959479A9E9EF857BDD21342AA3B039568C9D9706C48089540D019BAF47
SHA-512 Checksum: BA6960EB03162DF4ECE9FDDD3896874D552563EA55AADD31E9A3CAC4CF91EE5F173C597FB14480F7F3C0E6732A234E3229698C8B89D8445291EB53B4EA739B78
              

Checksum tools are installed on Mac and Linux by default. A Windows version of a checksum program is available at https://raylin.wordpress.com/downloads/md5-sha-1-checksum-utility/