Teaching logic: Cracking the hard nut